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

如果我通过双击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