Excelにフックしてワークブックを読み込むVB6/VBAアプリケーションがあります。それは長年にわたり素晴らしい仕事をしてきました。 Excel 2010にアップグレードし、いくつかの問題が発生しました。トラブルシューティングの後、PowerPivot COMアドインをオフにすると、プロセスは以前と同じように問題なく実行できます。私はこれの正確な原因を探している間、私は私のアプリのためだけにアドインをオフにすることができるかどうかを見たいと思った。VB6/VBA COMアドインの読み込みを許可しない
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オブジェクトに読み込まないようにする必要があります。助けや提案は大歓迎です。
おかげ
チップがありがとうございますが、あなたは正しいです、それは極端です。これは内部アプリ用ですが、私はユーザーレジストリを変更することを躊躇しています。 – sinDizzy
私はそれについても考えていませんでした。私にそのショットをあげさせてください。 – sinDizzy
okはExcel 2007とExcel 2010でテストされ、魅力的に機能しました。私はこのタイプのオブジェクトをどこからでも見て、それを見つけることができませんでした。助けてくれてありがとう。 – sinDizzy