Geister Add-Ins: Excel Add-Ins die sich nicht löschen lassen

Es gibt Add-Ins die wollen einfach nicht sterben. Man löscht Sie im Developer Menü, entfernt die Quelldateien, schreibt Gnaden ersuchende Emails an den heiligen St. Gates, doch alles hilft nichts.

Jedes Mal wenn man Excel öffnet taucht es wieder auf: In der Übersicht, im Menüband, oder sogar im eigenen Menüreiter! Das tote Add-In erscheint immer wieder in seiner gespenstigen Gestalt!

In diesem Artikel erkläre ich wie Ihr Geister Add-Ins ins Jenseits befördert,
(kein Weihwasser nötig… also bitte nicht über Tastatur giessen!)

was Add-Ins sind, und wie man sie unter normalen Bedingungen installiert und verwaltet!

Also zuerst….

Was sind Add-Ins eigentlich?

Add-Ins kurz erklärt

Add-Ins sind Excel Dateien die als .XLSA, .DLL, oder .EXE gespeichert werden und enthalten oft VBA oder andere Programmierung. Sie werden meistens speziell entwickelt um ein Arbeitsprozess einfacher zu machen.

Man kann mit Add-Ins Erweiterungen der Grundfunktionen von Excel herbeizaubern oder sogar vollkommen eigenständige Applikationen die auf Excel basieren erstellen. Weil Add-Ins sich direkt in Excel einfügen lassen ohne dabei “Admin Rechte” zu benötigen sind sie auch sehr beliebt.

Bevor man ein Add-In benutzen kann, muss man es zuerst laden.

Es gibt in der Standard Version von Excel Add-Ins die zur Verfügung stehen, aber nicht bereits aktiv sind wenn Excel installiert wird, wie zum Beispiel das “Solver” Add-In. Gleich verhält es sich mit extern (also nicht von Microsoft) entwickelten Add-Ins.

Die neu geladenen Add-Ins werden durch Funktionschaltflächen, Register, oder sogar ganze Menüs mit eigenem Ribbon ersichtlich.

Beispiel: Ein Add-In welches ich programmiert habe in dem ich gleichzeitig alle anderen Excel Funktionen ausgeschaltet habe (solche Add-Ins werden auch Diktator Applikation genannt).

Drei Arten von Add-Ins

Es gibt drei Arten von Add-Ins: Normale, COM, und Automatisierungsprogramme

Kurz zusammengefasst unterscheiden sich diese drei Varianten wie folgt:

Normales Add-In:

Die Normalen Add-In werden als .XLSA Dateien gespeichert und können durch Doppelklick von Excel geöffnet werden. Deren Funktionen erscheinen dann automatisch im Excel Menü. Die meisten Add-Ins welche von VBA Programmierer erstellt werden sind von dieser Art.

COM Add-In:

Component Object Model (COM) Add-Ins sind Programme die meistens von Softwarehäuser erstellt werden und durch DLL oder EXE Dateien installiert werden. COM Add-Ins werden nicht in VBA geschrieben sondern in VB.NET oder einer anderen kompatiblen Sprache. COM Add-Ins können auf mehrere Office Programme zugreifen, und weil sie vom Computer kompiliert werden und Excel vor dem Ausführen den Code nicht interpretiert muss, sind diese Add-Ins extrem schnell und performant. Wie Ihr vielleicht vermutet, sind dies keine kleinen Programme mehr, sondern fast schon eigenständige Softwarepakete die in tausenden von Stunden und ganzen Programmierer Teams erstellt werden.

Beispiele von COM Add-Ins sind: “SAP Schnittstellen”, Business Intelligence Add-Ins wie “IBM TM1 Cognos”, oder das Risk-Management Add-Ins von Palisade “@RISK”.

Nicht selten kosten COM Add-Ins mehr als die installierte Microsoft Excel Version auf der sie laufen.

Add-In Automatisierungsprogramm:

Ein Automatisierungsprogramm ist nichts weiter als eine Ergänzung zu einem COM Add-In. Die Details spar ich Euch.

Mehr Info über Add-Ins könnt Ihr auch unter diesem Link von Microsoft lesen.

Wie man Add-Ins Hinzufügt und Löscht

Man kann Add-ins an drei verschiedenen Stellen im Excel Menü finden, bez. Laden oder Entfernen kann:

Möglichkeit 1 & 2:

Im Entwicklertools Menü gibt es die Optionen “Add-Ins” und “COM Add-Ins” in denen man die Programme welche geladen sind anschauen kann.

Das COM-Add-In Fenster: Inquire, PowerPivot, und PowerView sind bei mir immer aktiviert.

Möglichkeit 3:

Zusätzlich hat man auch noch die Möglichkeit Datei Menü unter Optionen alle Add-Ins anzuschauen und diese auch hier zu verwalten:

Hat man das Menü zum Add-Ins hinzufügen oder entfernen einmal gefunden bedarf es eigentlich keiner weiteren Erklärung, weshalb ich das an dieser Stelle auch sein lasse.

Wieso Add-Ins im System hangen bleiben

Nun aber zu den Geister Add-Ins… gewisse Add-Ins wollen sich einfach nicht aus Excel entfernen lassen.

Die Antwort auf die Frage weshalb diese Add-Ins nicht sterben ist banal:

Schlecht programmiert.

Ich möchte die Schuld hier aber nicht einfach auf den Programmierer abschieben. Microsoft hat es auch nicht gerade einfach gemacht ein Fehlerfreies Produkt zu erstellen.

Es gibt zahlreiche Möglichkeiten dass der Code hängen bleibt und diese alle auszumerzen kann ein echter Fluch sein.

Wie man Geister Add-Ins entfernt

Angefangen diesen Beitrag zu schreiben habe ich, weil ich selber wieder einmal ein Geister Add-In hatte. Es handelte sich hier um ein Add-In welches ich irgendwo auf dem Netz gefunden hatte und einfach mal anschauen wollte.

Dann habe ich es ganz normal gelöscht in einem der Menüs wie oben beschrieben.

Aber… es war trotzdem noch da!

Da ich die normalen Möglichkeiten ein Add-In in Excel zu Entfernen bereits ausgeschöpft hatte, versuchte ich es manuell zu tun. Ich löschte die Datei, habe Excel rauf und runter gefahren, und… das Menü war immer noch da.

“Vielleicht hat sich die Datei selber in einen neuen Ordner kopiert”, dachte ich mir.

Aber selbst eine Suche nach .XLAM auf meinem ganzen C: Laufwerk hat das Add-In nicht gefunden. Dieselbe suche mit .XLA? (um auch auf Add-In Versionen von Excel 2003 und vorher zu prüfen) hat auch nichts ergeben.

Als nächstes versuchte ich das Menüband zurückzusetzen, mit dem Gedanken dass es vielleicht lediglich die Ribbon Darstellung ist, die noch hängen blieb. Leider brachte mir das auch nichts!

Nach dem ich auch noch alle Vorlagen Dateien in meiner XLStart Ordner gelöscht hatte und das Add-In immer noch erschien, wurde mir klar dass ich eine korrupte XLB Datei hatte.

Korrupte XLB Datei ersetzen

  1. Microsoft Excel schliessen
  2. Auf dem Laufwerk nach *.xlb suchen. Je nach Version der Datei wird sie “Excel14.xlb” heissen wo die Zahl im Namen die Excel Version darstellt (Excel 2013 ist Version 14). Man weiss dass es sich um die richtige Datei handelt weil das Datum und Zeit der Datei den Moment zeigt in dem Ihr Excel das letzte mal geschlossen habt.
  3. Als nächstes machen wir eine Sicherheitskopie. Dieses Bennen wir z.B. “ALTEDATEI_Excel14.xlb”
  4. Wir starten Excel erneut.
  5. Wenn es richtig funktioniert, so erstellt Excel automatisch eine neue Excel14.xlb Datei. Jedoch müssen wir das Menüband in Excel jetzt wieder neu auf unsere Bedürfnisse einstellen da alle Benutzerdefinierten Menübandeigenschaften gelöscht wurden / in der alten Datei sind.

So konnte ich mein Geister Add-In letztendlich “Ghostbuster” mässig entfernen.