我有一个连接到 Excel 并加载工作簿的 VB6/VBA 应用程序。多年来,它一直运行良好。我们现在已经升级到 Excel 2010 并且遇到了一些问题。故障排除后,如果我关闭 PowerPivot COM 加载项,该进程似乎可以像以前一样运行,没有任何问题。当我寻找这个的确切原因时,我想看看我是否可以只为我的应用程序关闭该加载项。我像这样加载Excel:
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
在测试 Excel 工作簿上,我有此代码来列出加载项。然而,只有“Excel 加载项”是唯一列出的。未列出“COM 加载项”。
Sub ListAddIns()
Dim CurrAddin As Excel.AddIn
Dim r As Long
Dim ws As Excel.Worksheet
Set ws = ActiveSheet
Cells.Select
Selection.ClearContents
Range("A1").Select
r = 1
For Each CurrAddin In Excel.Application.AddIns
ws.Cells(r, 1).Value = CurrAddin.FullName
ws.Cells(r, 2).Value = CurrAddin.Installed
ws.Cells(r, 3).Value = CurrAddin.Name
ws.Cells(r, 4).Value = CurrAddin.Path
ws.Cells(r, 5).Value = CurrAddin.progID
ws.Cells(r, 6).Value = CurrAddin.CLSID
r = r + 1
Next CurrAddin
MsgBox "Its done.", vbInformation
End Sub
在找到引用 COM 加载项的方法后,我需要阻止它加载到我的应用程序的 Excel 对象中。欢迎任何帮助或建议。
谢谢