Вопрос про VBA и макросы
Set doc = GetObject("1.doc")
Set app = doc.Application
app.Run "MyMacros"
Вылаетает, даёт какой-то срашный код ошибки, что даже хелп по нему не загружается...
еще нужно посмотреть настройни безопасности в Ворде, включить макросы
Т.е. если я ворд открою и там запущу, то всё ок, а если из экселя так запускаю, то:
Run-time-error:91
Object variable or With block variable not set
Проблема решилась тем, что нужно было держать открытым соответствующий файл ворда, но как бы без этого обойтись?
А чем тебе не нравится такой вариант?
Эта процедура, под которую писал макросы, проводится достаточно регулярно и не только мной, поэтому хотелось бы её максимально оптимизировать... Запускать так сказать с одной-двух кнопок...
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
у тебя макрос который тыхочешь запустить в том файле лежит?
Я запускаю экселевский, он, исходя из таблицы значений, передаёт параметры в ворд, там эти параметры вордовский макрос подставляет в нужные места и отправляет на печать...
Послезавтра попробую - на работе все наработки остались...
WA.Run MacroName:="Makros"
поставить команды вордовского макроса как они есть, ну или хотя б через доступ к классам через точку?
Можешь. Я вот прямо в екселевском макросе ртф-файлы генерил (текст, в который вставлялись данные из таблицы, и разметку). Справка по ВБА в Офисе качественная, быстро освоишься.
Оставить комментарий
sobleb
Как в Экселе в макросе открыть документ Ворда и запустить там макрос?Может кто-нить знает?