При решении одной рабочей задачи возникла необходимость после окончания работы стороннего скрипта на Python запустить макрос в открытой книге Excel, чтобы импортировать в нее результаты парсинга.
Поскольку книга в момент запуска уже открыта, CreateObject для создания новой книги не подойдет. Самый простой вариант - использовать следующий скрипт VBS с командой Open, обращаяся к нужной книге.
Sub ZapyskMacrosaVBS()
'Объявляем переменные
Dim app
'Задаем переменную приложения Excel
Set app = GetObject(, "Excel.Application")
'Открываем нужную книгу (книга должна быть уже открыта)
app.Workbooks.Open("E:\ИмяФайла.xlsm")
'Выполняем в книге определенный макрос
app.Run "ИмяФайла.xlsm!Лист1.ИмяМакроса"
End Sub
'Вызываем процедуру выше
Call Test
Соответственно, приведенный выше код сохраняем в файлик с расширением .vbs. Вместо ИмяФайла и ИмяМакроса вписываем реальные наименования из рабочих файлов. При необходимости можно этот файлик генерировать другим скриптом или макросом непосредственно из Excel и удалять после окончания работы вызываемого макроса.
Комментарии (0)