2017-08-01 2 views
0

Ich versuche, alle COM-Add-Ins in meiner Excel-Anwendung über VBA zu drucken, aber mit dem unten stehenden Code stimmt etwas nicht. Der Fehler scheint auf die für jede Zeile zu sein ... irgendwelche Gedanken vielVBA alle COM-Addins drucken

geschätzt
Sub showAddins() 
    Dim excelApp As Excel.Application 
    Dim myAddin As Excel.AddIn 

    Set excelApp = CreateObject("Excel.Application") 

    For Each myAddin In excelApp.COMAddIns 

     Debug.Print myAddin.Name 

    Next myAddin 

End Sub 
+0

Sind Sie sicher, dass Sie COM-Add-In installiert? Wenn keine AddIns vorhanden sind, gibt der 'COMAddIns' einen Fehler aus, anstatt über die Schleife zu springen. Außerdem glaube ich nicht, dass Sie ein neues 'Excel.Application'-Objekt brauchen, einfach 'Appliation' zu verwenden sollte den Trick machen. – FunThomas

+0

Ja, ich habe einige, die "angekreuzt" sind und eine nicht. Ultimativ was ich versuche zu erreichen ist, alle COM-Addins durch VBA "anzukreuzen" ... irgendwelche weiteren Gedanken? – whada

Antwort

0

Add-Ins werden nicht geladen, wenn Excel geöffnet Automatisierung verwenden, so wird es keine in der neuen Instanz, die Sie in Ihrem Code erstellen geladen sein .

Verwenden Sie einfach den bestehenden Anwendungsverweis in der bereits geöffneten Excel-Instanz:

Sub showAddins() 

    Dim myAddin 'as variant 

    For Each myAddin In Application.COMAddIns 

     Debug.Print myAddin.Description '<< not Name 

    Next myAddin 

End Sub 
+0

Danke Tim - immer noch die gleiche Fehlermeldung. Es ist wie Application.COMAddIns verursacht das Problem. Wenn ich COMAddins zu AddIns ändere, funktioniert nur der Code. Ich möchte jedoch die Liste der COM-Addins ausdrucken - unter Excel-Optionen -> Add-Ins -> Verwalten -> COM-Addins – whada

+0

Siehe meine Updates - ich hatte nicht getestet, also ein paar Probleme dort, zum Beispiel 'Name' ist keine Eigenschaft auf dem Add-In. –

+0

Dank dieser Drucke ist die Beschreibung. Ich würde gerne überprüfen, ob das Add-in geladen/installiert ist, könntest du auch dabei helfen? Ich habe versucht, wenn myAddin.Installed Then ... aber das gab mir Fehler – whada