首页 文章

CreateObject(“Excel.Application”)实例的行为与“普通”(点击)实例不同

提问于
浏览
0

如果我通过双击Excel文件打开Excel然后使用VBA打开MyExcelFile并运行MyMacro,事情就好了 . 但是,如果我使用VBA使用CreateObject创建一个新的Excel实例,并使用VBA打开MyExcelFile并运行MyMacro,则第三方加载项我无法控制行为方式(错误) .

我'm wondering if there are settings for Excel instances I can control and should set explicitly? I got really excited when I saw this, but it didn'解决了我的问题:"New" Excel.Application vs Excel.Application

通过点击打开Excel是否从CreateObject(“Excel.Application”)启动不同的设置?也许不同的工作目录或什么?

总之,对于我的第三方AddIn:

作品:

Workbooks.Open("MyExcelFile")
Application.Run "MyExcelFile!MyMacro"

不起作用:

Dim ObjXL 
Set objXL = CreateObject("Excel.Application")
objXL.Workbooks.Open("MyExcelFile")
objXL.Application.Run "MyExcelFile!MyMacro"

在MyMacro中,我加载了AddIn:

Dim success as Boolean
...
success = False
success = Application.RegisterXLL("PathToAddIn_x64.xll")
If Not (success) Then
    Exit Sub
End If
success = Application.RegisterXLL("PathToOtherAddIn_x64.xll")
If Not (success) Then
    Exit Sub
End If

1 回答

  • 0

    通过自动化创建Excel实例时,加载项不会自动加载 .

    您需要使用VBA加载任何所需的项目 .

    见 - support.microsoft.com/en-us/kb/213489

相关问题