Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Можно ли из Екселя вызвать процедуру Ворда?

248
26 апреля 2008 года
Dmitry2064
590 / / 06.12.2006
У меня из Екселя вызвается открытие дока в Ворде, а уже в Ворде есть
Sub AutoOpen(), который почему-то не всегда запускается (пока не ясно почему). Вот можно ли при таком вызове из Екселя принудительно заставить выполняться вордовский макрос AutoOpen:
 
Код:
ProgPath = "C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE "
iPath = iPathSource 'узнали путь к открываемому файлу
FilePath = ProgPath & Chr(34) & iPath & F & Chr(34)
Shell FilePath
17K
30 апреля 2008 года
HookEst
144 / / 27.03.2008
А зачем тебе "такой вызов из Екселя"?
Automation для чего?
 
Код:
Set doc = GetObject(iPath & F)
  doc.Application.Visible = True
  doc.RunAutoMacro 2'wdAutoOpen

а doc.Run - запустит любой макрос, не только auto..
248
30 апреля 2008 года
Dmitry2064
590 / / 06.12.2006
Цитата: HookEst
А зачем тебе "такой вызов из Екселя"?
Automation для чего?



В Ексле я держу сводную таблицу учета ворд-документов, которые приходят в работу. И из Екселя я вызываю проверку наличия на сервере нового дока, и если таковой есть, то заставляю Ворд его открыть, а в ворде уже по названию документа Автоопен-макрос определяет, какими процедурами его обрабатывать. Так вот почему-то в последний раз этот Автоопен срабатывал не каждый раз (странно). Поэтому и подумал, что лучшего автомакрос запускать принудительно, чем надеяться на его "автоматичность".

248
30 апреля 2008 года
Dmitry2064
590 / / 06.12.2006
Код:
 
Код:
Set MyDoc = GetObject(iPath & F)
  MyDoc.Application.Visible = True
  MyDoc.RunAutoMacro 2 'wdAutoOpen 'работает отлично
''''  MyDoc.Run "Normal.Work.GetDocName" 'пишет:
Object doesn't support property or method.

Т.е. любой макрос не запускается, а только "авто"-исполняемый.
17K
04 мая 2008 года
HookEst
144 / / 27.03.2008
да действительно, Run - это метод Application, правильно:

doc.Application.Run "Макрос1"
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог