Я пытаюсь запустить макрос Excel из-за пределов файла Excel. В настоящее время я использую ".vbs" файл из командной строки, но он продолжает говорить мне, что макрос не может быть найден. Вот script Я пытаюсь использовать
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("test.xls")
objExcel.Application.Visible = True
objExcel.Workbooks.Add
objExcel.Cells(1, 1).Value = "Test value"
objExcel.Application.Run "Macro.TestMacro()"
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit
И вот макрос, к которому я пытаюсь получить доступ:
Sub TestMacro()
'first set a string which contains the path to the file you want to create.
'this example creates one and stores it in the root directory
MyFile = "C:\Users\username\Desktop\" & "TestResult.txt"
'set and open file for output
fnum = FreeFile()
Open MyFile For Output As fnum
'write project info and then a blank line. Note the comma is required
Write #fnum, "I wrote this"
Write #fnum,
'use Print when you want the string without quotation marks
Print #fnum, "I printed this"
Close #fnum
End Sub
Я попробовал решения, расположенные в Возможно ли запустить макрос в Excel из внешней команды?, чтобы получить это далеко (и, конечно же, изменено), но это не так, похоже, работает. Я продолжаю получать сообщение об ошибке "Microsoft Office Excel: макрос" Macro.TestMacro "не найден.
EDIT: Excel 2003.