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