VBA предназначен для работы в Microsoft Office, но вы можете использовать VB Script, чтобы открыть книгу и запустить макрос.
Поместите следующее в .vbs
файл. Вы создадите расписание для вызова и выполнения этого файла. Убедитесь, что вы указали правильный путь и измените "test.xlsm!mymacro"
на название вашей рабочей книги и макрос, который вы хотите вызвать.
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\path\to\test.xlsm")
objExcel.Application.Run "test.xlsm!mymacro"
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit
Чтобы проверить это, я создал быстрый макрос в test.xlsm
, чтобы создать текстовый файл в том же каталоге, и убедился, что он был там после того, как я запустил VB Script. В макросе ниже нет ничего особенного, вы можете вызывать любой макрос по вашему желанию. Это избавит вас от необходимости вручную открывать книгу и запускать макрос.
Sub mymacro()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Set oFile = fso.CreateTextFile("C:\Users\bcohan\Downloads\testing.txt")
oFile.WriteLine "test"
oFile.Close
Set fso = Nothing
Set oFile = Nothing
End Sub
После того, как вы выполнили вышеуказанное, вы сможете создать запланированное задание в Windows для запуска вашего скрипта.