运行 来自 VBS 文件的宏给出错误

Running a Macro from a VBS File Giving Error

我正在使用 vbs 代码自动打开 运行 一个 Excel 宏,但收到以下错误消息:

错误: 无法 运行 宏 "file location"。此工作簿中可能没有宏,或者所有宏都被禁用。 代码:800A03EC 资料来源:微软 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 文件模块中的子名称。

希望得到反馈。

谢谢。

您在 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 实际上 returns 一个工作簿对象(这是使用语法 Set ObjWB = ObjExcel.Application.Run 的唯一原因),您需要在其自己的变量中捕获该引用.