【发布时间】:2017-05-19 13:00:29
【问题描述】:
我正在尝试使用以下 vbs 在 test.xlsm 文件中运行宏。但是,当我运行它时,它会抛出一个错误,表明第 9 行有错误:此类不支持自动化“objWorkbook.Close”。
我在网上查过解决办法,比如把objWorkbook.Close False改成objWorkbook.Close(False);然而,改变 Excel 的兼容性,这些都不起作用。
打开的 Excel 好像无法关闭...
知道如何解决吗? 如果能修好真的不胜感激!
Dim args, objExcel
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook =
objExcel.Workbooks.Open("C:\Users\Daisy\Desktop\VBA\test.xlsm")
objExcel.DisplayAlerts = False
objExcel.workbooks.Open "C:\Users\Daisy\Desktop\VBA\test.xlsm", 0, True
objExcel.visible = True
objExcel.Run "test.xlsm!ScheduleARunForTomorow"
objWorkbook.Close False
objExcel.Application.Quit
WScript.Echo "Finished."
WScript.Quit
【问题讨论】:
-
为什么要打开同一个工作簿两次?
-
我删除了
objExcel.workbooks.Open "C:\Users\Daisy\Desktop\VBA\test.xlsm", 0, True这一行,用宏创建了test.xlsm,它对我有用——你用的是哪个版本的office? -
@avb 是的,你是对的!我没有注意到……我真是个愚蠢的哈哈。非常感谢您的帮助!
-
还要注意
DisplayAlerts = False相当危险,这里没有必要使用它——在这种情况下它可能没有让你看到真正的错误信息