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オブジェクトに読み込まれないようにする必要があります。ヘルプや提案は大歓迎です。
ありがとう