COM Addin per VBA deaktivieren
#1
Hey Leute,

ich habe gerade ein paar AddIns per VBA deaktiviert.

Das funktioniert über AddIns("Addin Name").Installed = False

Aber das COM Addin lässt sich so nicht ansprechen. Auch mit dem Makroaufzeichner wird nichts aufgenommen.

Weiß jemand, wie ich dieses COM Addin in VBA deaktivieren kann?
Top
#2
Hallo,

eine Liste der Add-Ins erhälst Du über diesen Code ...


Code:
Sub COMAddins()
  
  Dim o As COMAddIn
  
  For Each o In Application.COMAddins
     
    Debug.Print o.Description & ", " & o.Connect & ", " & o.progID
    
  Next
  
End Sub

Und deaktivieren kannst Du eines über ...


Code:
Application.COMAddIns("_Hier_die_progID_").Connect = False

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
[-] Folgende(r) 1 Nutzer sagt Danke an maninweb für diesen Beitrag:
  • StrammerMax
Top
#3
Vielen Dank :)

Die Prog ID ist aber nicht der Name des Com Addins?

Mit: Application.COMAddins("Mindjet MindManager Add-In").Connect = False bekomme ich einen Laufzeitfehler 9 "Index außerhalb des zulässigen Bereichs".


Den Code zur Auslese verstehe ich nicht so richtig. Wo werden die IDs ausgegeben? Ich bin mit dem Debugger nicht so fit.
Top
#4
Hallo,

im VBA Editor das Direktfenster einblenden, z.B. über Strg + G oder den Menüpunkt Ansicht. Dann den
Code zu COMAddins laufen lassen. Das Ergebnis erscheint im Direktfenster bzw. Direktbereich.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
[-] Folgende(r) 1 Nutzer sagt Danke an maninweb für diesen Beitrag:
  • StrammerMax
Top
#5
Super, danke.
Das gibt dann aus: Mindjet MindManager Add-In, Falsch, Mindjet.Mm15ExcelLinker.AddIn.9

Aber sowohl mit Application.COMAddins("Mindjet.Mm15ExcelLinker.AddIn").Connect = True als auch mit Application.COMAddins("Mindjet MindManager Add-In").Connect = True als auch mit Application.COMAddins("Mindjet.Mm15ExcelLinker.AddIn.9").Connect = True bekomme ich noch den Laufzeitfehler 9 "Index außerhalb des Bereichs".
Top
#6
Hallo,

da kann ich dann leider nicht viel dazu sagen, denn ich kann es nicht testen.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
[-] Folgende(r) 1 Nutzer sagt Danke an maninweb für diesen Beitrag:
  • StrammerMax
Top
#7
Ich habe mich mal ein bisschen umgeschaut. Normalerweise müsste noch ein 4. Wert ausgegeben werden, der dann die ID darstellt.
Bei schlecht programmierten AddIns soll er wohl häufiger fehlen.

Dann würde ich das gerne umgehen und einfach alle COM Addins deaktivieren.
Hast du dafür zufällig auch eine Lösung? :)

Die COM Addins sind (bei mir) die extra Reiter in der Menüleiste. Wenn das irgendwie geht würde ich diese auch gleich "aktualisieren", so dass die Reiter dann weg sind ohne Excel neu zu starten.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste