Excel Add-In

Excel Makro-Add-in mit Menüband-Icon erstellen und weitergeben

Microsoft Excel® hat mit seinem Makrorekorder einen einfache Möglichkeit geschaffen immer wiederkehrende Arbeitsschritte ohne Programmierkenntnisse zu automatisieren und als Makro abzuspeichern. Dieses lässt sich dann auch mit einem Symbol (Icon) in dem Menüband (Ribbon) in einer neuen Gruppe oder in einem neuen Reiter zuordnen und leicht aufrufen Microsoft (Support).

Problematischer wird es, wenn man es mit dem Menübandsymbol gerne weitergeben oder auf einem Netzlaufwerk mehreren Anwendern zur Verfügung stellen will. Wie man das macht, zeigt dieses How-To.

Entwicklertools-Reiter einblenden: Wir benötigen hier den Zugriff auf die Makro-Funktionalität von Excel. Diese hat einen eigenen Reiter im Menüband. Dieser ist allerdings standardmäßig ausgeblendet. Wahrscheinlich hast du ihn schon eingeblendet. Wenn nicht, im Microsoft Support-Bereich wird gezeigt, wie man den Reiter „Entwicklertools“ einblenden kann. Das nachfolgende How-to benötigt dies aber nicht, kann aber die Arbeit beschleunigen, da es direkten Zugriff zu den Dialogen Excel-Add-Ins, Visual Basic und Makros ermöglicht.

Makro und Basis Add-In erstellen

Zuerst zeichnet man ein Makro mit dem Makrorekorder auf oder schreibt es im Visual-Basic-Editor und speichert das Makro in der aktuellen Arbeitsmappe als Excel-Add-In (*.xlma)-Datei ab, z.B. MeinMacro.xlma.

Makro aufzeichnen

Excel schlägt dann automatisch den Pfad C:\Users\[Benutzername]\AppData\Roaming\Microsoft\AddIns vor. Das kann man erstmal bestätigen.

Dateityp Add-In

Dann öffnen man den Visual-Basic-Editor mit ALT-F11. Sucht das Makro im entsprechenden VBA-Projekt im Ordner Module.

 

Es heißt standardmäßig Modul1 und man öffnet es mit Doppelklick. Es sieht dann etwas so aus:

Sub MeinMacro()
'
' MeinMacro Makro
'
'

...

End Sub

Wenn man dem Makro ein Symbol im Menüband zuordnen will, muss man dem Aufruf den  Parameter ByVal control As IRibbonControl mitgeben:

Sub MeinMacro(ByVal control As IRibbonControl)
'
' MeinMacro Makro
'
'

...


End Sub

Das wiederholt man bei allen Makros und speichert die Änderung im Visual-Basic-Editor. Den Visual-Basic-Editor und auch Excel sollte man danach schließen.

Jetzt hat man bereits ein Excel Add-In erstellt. Um den oder die darin enthaltenen Makros aufzurufen, muss man Sie noch einem oder mehreren Symbolen im Menüband zuweisen.

Menüband-Symbolaufruf konfigurieren

Excel-Symbole als Icons verwenden

Um das oder die Makros mittels Symbolen im Menüband auszuführen und in der Add-in-Datei zu speichern, kann man sich vom Programm OfficeRibbonXEditor unterstützen lassen, die du als ausführbares Programm in GitHub im Bereich Releases/Assets herunterladen kannst. EXE-Distributionen enthalten eine Installer, ZIP-Distros kann man nach dem Auspacken ohne Installation nutzen. Ob du NETCore oder NETFramework verwendest, spielt keine entscheidende Rolle. Ggf. musst du Laufzeitbibliotheken herunterladen. Ich habe die NETCore-Variante gewählt und die fehlende Laufzeitbibliothek wurde beim Start automatisch heruntergeladen und installiert.

  1. Starte den OfficeRibbonXEditor und öffne deine Add-In xlma-Datei. Du solltest sie unter %APPDATA%\Microsoft\AddIns finden, dazu einfach den gerade genannten Pfad in die Adressleiste des Öffnen-Dialogs eingeben und RETURN drücken.
     

     
  2. Im linken Listenbereich klickst du mit der rechten Maustaste auf deine xlma-Datei und wählst Insert Office 2010+ Custom UI Part, wenn du das Add-In für Excel 2010 oder höhere Versionen erstellen willst oder Insert Office 2007 Custom UI Part für Excel 2007. Man kann auch ein Add-In für alle unterstützten Versionen erstellen, indem man beide CustomUIs einfügt und den XML-Code in beide kopiert. Sie unterscheiden sich nur in der Definition:
    2010+ => customUI14.xml: xmlns=“http://schemas.microsoft.com/office/2009/07/customui“
    2007 => customUI.xml: xmlns=“http://schemas.microsoft.com/office/2006/01/customui“
  3. Man importiert jetzt den XML-Code. Beispiele findet man im Menü Insert>Sample XML. Wir wählen hier Custom Tab, d.h. wir erstellen einen neuen Reiter im Menüband für unser Makrosymbol:
     
    OfficeRibbonXEditor
     
  4. Man passt jetzt den importieren Beispiel-XML-Code von
    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">   
       <ribbon startFromScratch="false">
          <tabs>
             <tab id="customTab" label="Custom Tab">
                <group id="customGroup" label="Custom Group">
                   <button id="customButton" label="Custom Button" imageMso="HappyFace" size="large" onAction="Callback" />
                </group>
             </tab>
          </tabs>
       </ribbon>
    </customUI>

    zu z.B.:

    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
       <ribbon startFromScratch="false">
          <tabs>
             <tab id="meinemakros" label="Meine Makros">
                <group id="gruppe1" label="Gruppe 1">
                   <button id="meinbutton" label="Mein Makro" imageMso="HappyFace" size="large" onAction="MeinMacro" />
                </group>
             </tab>
          </tabs>
       </ribbon>
    </customUI>

    an. Die Änderungen sind fett formatiert.

    tab id Eindeutiger ID-Name für den Reiter (keine Leerzeichen/Sonderzeichen), intern
    tab label Name des Reiters (erscheint im Menüband)
    group id Eindeutiger ID-Name für die Symbolgruppe
    group label Name der Symbolgruppe (erscheint im Menüband im Reiter)
    button id Eindeutiger ID-Name für den Symbolbutton
    button label Name des Symbolbuttons/Icons (steht unter dem Symbol)
    imageMso ID des Symbolbildes (Icons). Eine Auflistung findet man unter bert-toolkit.com Achte auf Groß- und Kleinschreibung. Eigene Symbole können auch verwendet werden, s.w.u.
    onAction Name des Macros, das im VBE hinter Sub steht ohne Klammern. (hier: MeinMacro)

    Die Bereiche tab, group und button können natürlich, je nach Anzahl und Organisation der Makros, öfter vorkommen.

  5. Im OfficeRibbonXEditor auf das Symbol Validate klicken, um den XML-Code zu prüfen. Kommt keine Fehlermeldung, kann man das Add-In speichern (Datei>Save Current Document).

Die nun abgespeicherte xlma-Datei, MeinMacro.xlma, kann man jetzt per E-Mail verschicken oder auf einem Netzlaufwerk für mehrere Anwender freigeben. Diese müssen es nur noch installieren. Auch du musst das Add-Inn noch aktivieren um es zu nutzen.

Eigene Symbole als Icons verwenden

Man geht genauso vor, wie unter Excel-Symbole als Icons verwenden beschrieben. Folgende Schritte führt man noch zusätzlich aus:

  1. Erstelle eine oder mehrerer quadratische PNG-Dateien, um sie als Symbole/Icons zu verwenden, zum Beispiel 100×100 Pixel (nicht mehr als 256×256 px).
  2. Im OfficeRibbonXEditor klickt man mit der rechten Maustaste auf customUI(14).xml im linken Bereich und wählt Insert Icons und wählt das oder die erstellten PNG-Symboldateien (Icons) aus.
  3. Ändere im XML-Code in der <button> Zeile imageMso zu image und füge den Dateinamen des Symbols ohne Dateiendung nach dem Gleich-Zeichen in Anführungsstrichen hinzu. D.h. wenn deine Symboldatei MeinIcon.png heißt, trage image=“MeinIcon“ ein und lösche den imageMso-Eintrag. Achte auf Groß- und Kleinschreibung.
    <button id="meinbutton" label="Mein Macro" image="MeinIcon" size="large" onAction="MeinMacro" />
  4. Wiederhole den letzten Punkt für alle Buttons und speichere das fertige Add-In. Es ist für die Verteilung und Installation bereit.

Installation des Add-Ins

  1. Zuerst sollte man die xlma-Datei unseres Add-Ins in einem Ordner auf dem lokalen Computer oder einer Netzwerkfreigabe speichern. Diesen sollte man nicht verschieben oder umbenennen. Der beste Platz auf dem lokalen Computer ist %APPDATA%\Microsoft\AddIns. Dazu einfach den gerade genannten Pfad in die Adressleiste des Windows Explorers eingeben und RETURN drücken.
     
    Explorer - %appdata%\Microsoft\AddIns
     
  2. Starte Excel und klicke im Menü auf Datei>Optionen. In der linken Liste des Optionen-Dialogs wähle Add-Ins und klicke rechts unten auf  Verwalten: Excel-Add-Ins und dann auf Los… oder – falls eingeblendet – im Reiter Entwicklertools in der Gruppe Add-Ins auf Excel-Add-Ins.
  3. Im Dialog Add-Ins muss man unser Add-In nur noch aktivieren. Befindet sich das Add-In nicht im o.g. Ordner, z.B. auf einer Netzwerkfreigabe, muss man es mit einem Klick auf Durchsuchen… erst laden und dann aktivieren. 
     

     
    Dann OK klicken und das Add-In mit dem oder den Makros mit dem neuen Menübandreiter sollte sichtbar sein. 
     
    Excel Menüband mit Makro

Add-In löschen

Um das Add-In wieder zu entfernen, gibt es leider keinen direkten Menübefehl. Es müssen mehrere Schritte im Windows Explorer und Excel durchgeführt werden:

  1. In Excel im Menü auf Datei>Optionen in der linken Liste des Optionen-Dialogs wähle Add-Ins und klicke rechts unten auf Verwalten: Excel-Add-Ins und dann auf Los… oder – falls eingeblendet – im Reiter Entwicklertools in der Gruppe Add-Ins auf Excel-Add-Ins.
  2. Im Dialog Add-Ins muss man das zu löschende Add-In deaktivieren.
     
    Add-In deaktiviert
     
  3. Jetzt die Add-In Datei, hier MeinMacro.xlma, im Windows Explorer löschen.
  4. Nach Excel wechseln und wieder in den Dialog Add-Ins gehen und auf den Eintrag unseres gelöschten Add-Ins klicken, hier Meinmacro, und die folgenden Meldung mit Ja bestätigen und dann auf OK klicken.
     
    Add-In löschen

Interessante Links und Quellen

6 Kommentare

  • von wem ist eigentl. dieser Artikel im Original ?
    Nur abschreiben ohne sinvolle Ergänzungen ist traurig

    • Lieber „Gast“, ich bin sachlicher Kritik durchaus aufgeschlossen. Mit deinem Kommentar weiß ich aber nichts anzufangen. Bot?

      Welchen Originalartikel? Nenn doch bitte mal die Quelle. Meine Quellen stehen alle unten im Artikel. Ich kann deinen (unsachlichen) Plagiatsvorwurf nicht nachvollziehen. Wozu auch? Ich schalte keine Werbung und Likes gibt es auch keine.

      Mein Artikel soll Anwendern, die genau das Gleiche vorhaben wie ich hatte, die mühsame Zusammensucherei der nötigen Infos ersparen und alles kompakt und möglichst vollständig in einem Artikel vorfinden. So what?

      • 🙂 Ich für meinen Teil freue mich darüber, dass jemand die Infos gesammelt und öffentlich zugänglich gemacht hat mit vielen Bildern. Denn für mich ist VBA Neuland und ich versuche mich da gerade reinzufuchsen und bin so glücklich über jede Lösung / jeden Baustein den man so im Internet finden kann!

  • Hallo Hani,
    ich finde diese Zusammenfassung auch super.
    Allerdings hätte ich noch, wenn möglich einen kleinen Verbesserungsvorschlag um noch weniger suchen zu müssen.
    Eine Tabelle mit den Excel-Icons und deren Name wäre noch bombastisch:-)
    Gruß DerBrain87

  • hört sich alles gut und hilfreich an, aber leider nur für windows.
    kann man sowas auch auf dem mac machen ?
    viel besser wäre eine lösung, wie man ganz ohne menübänder arbeiten kann, dafür aber mit den alten wesentlich besseren symbolleiste, die man selbst zusammengestellt hat.

    gruß rhodostelle

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert