我正在使用vbs代码自动打开并运行Excel宏,但收到以下错误消息:
错误:无法运行宏"文件位置"。宏可能在此工作簿中不可用,或者可能禁用所有宏。 代码:800A03EC 来源:Microsoft Excel
VBS代码:
Dim ObjExcel, ObjWB
Set ObjExcel = CreateObject("Excel.Application")
ObjExcel.Visible = True
Set ObjWB = ObjExcel.Application.Run("C:\Automation\TestCasesBackupScript.xlsm!Backup3")
ObjWB.Close False
ObjExcel.Quit
Set ObjExcel = Nothing
启用宏并且" Backup3"是TestCasesBackupScript.xlsm文件模块中的子名称。
希望得到反馈。
谢谢。
答案 0 :(得分:3)
您在Application.Run
中引用的工作簿必须在Application
对象的上下文中打开。先打开它,然后调用它:
Dim ObjExcel, ObjWB
Set ObjExcel = CreateObject("Excel.Application")
ObjExcel.Visible = True
Set ObjWB = ObjExcel.Workbooks.Open("C:\Automation\TestCasesBackupScript.xlsm")
ObjWB.Application.Run("Backup3")
ObjWB.Close False
ObjExcel.Quit
Set ObjExcel = Nothing
注意:如果Backup3
实际返回一个Workbook对象(这是使用语法Set ObjWB = ObjExcel.Application.Run
的唯一原因),那么您将希望在其自己的变量中捕获该引用。