运行Excel宏VBScript时出错。

3

从AutoSys运行作业时,出现错误。 VBS运行Excel宏。 VBS代码:

Option Explicit

Dim xlApp, xlBook
Set xlApp = CreateObject("Excel.Application")
On Error Resume Next
set xlBook = xlApp.Workbooks.Open("Z:\Confidential Restricted\Weekly_HR_Employees_Macro.xlsm",0, False)
xlApp.Run "Weekly_HR_Employees_Macro.Weekly_HR_Employees_Macro"
xlBook.Close True
xlApp.Quit

set xlBook = Nothing
Set xlApp = Nothing

错误:

Microsoft VBScript runtime error: ActiveX component can't create object: 'Excel.Application'

正如@ManishChristian的回答所述,您代码中的CreateObject语法是错误的。这导致了错误的出现。即使您提供了+1000000000的赏金,除非您更正语法并告诉我们使用正确语法时抛出的错误,否则不可能有其他答案。 - Axel Richter
正如我在回复中所述,我一直在使用正确的语法,但为了解决错误,我进行了更改。我已经编辑了我的问题代码,现在仍然收到错误。请查看编辑后的问题。 - Eoin2211
我尝试了这个,但出现了以下错误:Microsoft VBScript运行时错误:ActiveX组件无法创建对象:'Excel.Application.15'。看起来是同样的问题? - Eoin2211
你是否检查了注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Application 和/或 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Application.15 是否存在? - Axel Richter
1
最终我发现Autosys作业所使用的机器上没有安装Microsoft Office。感谢您的帮助。 - Eoin2211
3个回答

2
您正在使用CreateObject方法的GetObject语法。您需要使用以下内容:
Set xlApp = CreateObject("Excel.Application")

更多详细信息,请查看这个答案。


首先,请检查我分享的链接中的答案。如果你的工作簿已经打开,那么使用 GetObject,但如果工作簿关闭了,则使用 CreateObject。您遇到了什么错误? - ManishChristian
工作簿已关闭。我在这段代码中遇到的错误是Microsoft VBScript运行时错误:ActiveX组件无法创建对象:'Excel.Application'。 - Eoin2211
我看不到这个选项?你能详细解释一下如何做吗? - Eoin2211
尝试:打开Excel -> Excel选项 -> 信任中心 -> 信任中心设置 -> 宏设置(从信任中心窗口)-> 检查信任访问VBA项目对象模型。 - ManishChristian
让我们在聊天中继续这个讨论 - ManishChristian
显示剩余2条评论

0

尽管脚本在我的电脑上运行正常,但它无法在AutoSys作业使用的机器上运行。最终我发现,被AutoSys作业使用的机器上没有安装Microsoft Office。


0

你可以使用 GetObject("Excel.Application"),但在使用它之前,你需要确保打开了一个 Excel 实例。GetObject 将获取对此已打开的 Excel 实例的引用,并让你使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接