在Excel中运行macros的VBScript会引发错误

我有一个VBScript,打开一个Excel工作簿,并在特定的一天在特定的时间内运行一个特定的macros。 这里是

Option Explicit Dim xlApp, xlBook Set xlApp = CreateObject("Excel.Application") xlApp.Visible = False While not (Month(Now()) = 11 and Day(Now()) = 17 and Hour(Now()) = 9 and Minute(Now()) = 1) Wend Set xlBook = xlApp.Workbooks.Open("C:\Temp\Property by Peril.xlsm") xlApp.Application.Run "'Property by Peril.xlsm'!Main" Set xlBook = Nothing Set xlApp = Nothing WScript.Echo "Finished." WScript.Quit 

它运行良好,包括工作簿的开放和macros的运行。 但是,macros运行后立即出现错误

 Microsoft VBScript runtim error: Unknown runtime error (on line 16) 

而脚本的其余部分不会被执行。

任何想法/帮助?

尝试删除该语句以从macrosclosures工作簿并将其添加到VBScript。 另外,不要忘记退出应用程序对象,否则隐藏的Excel实例会一直留在内存中,因为在脚本终止时它不会自动丢弃。

 ... xlApp.Application.Run "'Property by Peril.xlsm'!Main" xlBook.Close False xlApp.Quit Set xlBook = Nothing Set xlApp = Nothing ... 

参数False将防止对工作簿的更改进行保存。 如果您想要自动保存更改,请将其更改为True

以下代码在我的系统上成功运行。

 Option Explicit Dim xlApp, xlBook Set xlApp = CreateObject("Excel.Application") xlApp.Visible = False Set xlBook = xlApp.Workbooks.Open("C:\Temp\Property by Peril.xlsm") xlApp.Application.Run "Main" xlBook.Close False Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing WScript.Echo "Finished." WScript.Quit