Вопрос про VBA и макросы

sobleb

Как в Экселе в макросе открыть документ Ворда и запустить там макрос?
Может кто-нить знает?

bastii

так вроде работает

Set doc = GetObject("1.doc")
Set app = doc.Application
app.Run "MyMacros"

sobleb

Чего-то не работает...
Вылаетает, даёт какой-то срашный код ошибки, что даже хелп по нему не загружается...

bastii

на какой строчке дает ошибку?
еще нужно посмотреть настройни безопасности в Ворде, включить макросы

sobleb

Я сам поковырялся - заработало, только теперь макрос ворда не срабатывает...
Т.е. если я ворд открою и там запущу, то всё ок, а если из экселя так запускаю, то:

Run-time-error:91

Object variable or With block variable not set

sobleb

Проблема решилась тем, что нужно было держать открытым соответствующий файл ворда, но как бы без этого обойтись?

Flack_bfsp

А чем тебе не нравится такой вариант?

sobleb

Эта процедура, под которую писал макросы, проводится достаточно регулярно и не только мной, поэтому хотелось бы её максимально оптимизировать... Запускать так сказать с одной-двух кнопок...

Flack_bfsp

Тогда сам создавай ворды и открывай документы!
 Dim WA As Word.Application, WD As Word.Document
Set WA = CreateObject("Word.Application")
WA.Documents.Open FileName:="name.doc"
Set WD = WA.ActiveDocument
WA.Run MacroName:="Makros"
WD.Close
WA.Quit

SCIF32

у тебя макрос который тыхочешь запустить в том файле лежит?

sobleb

У меня два макроса - один в экселе, один в ворде...
Я запускаю экселевский, он, исходя из таблицы значений, передаёт параметры в ворд, там эти параметры вордовский макрос подставляет в нужные места и отправляет на печать...

sobleb

Послезавтра попробую - на работе все наработки остались...

sobleb

А могу я вместо:
WA.Run MacroName:="Makros"

поставить команды вордовского макроса как они есть, ну или хотя б через доступ к классам через точку?

Flack_bfsp

Можешь. Я вот прямо в екселевском макросе ртф-файлы генерил (текст, в который вставлялись данные из таблицы, и разметку). Справка по ВБА в Офисе качественная, быстро освоишься.
Оставить комментарий
Имя или ник:
Комментарий: