Excel: Add-In mit Ribbon-Button erstellen

Wir können Excel nicht nur um benutzerdefinierte Funktionen erweitern, die wir in eine Add-In-Datei schreiben und die dann überall als Formel verfügbar sind. Wir können auch Funktionen hinzufügen, mit denen wir die Anwendung um selbst programmierte Abläufe erweitern. In diesem Artikel zeigen wir, wie Du einem Excel-Add-In ein eigenes Ribbontab hinzufügst sowie eine Funktion, die durch einen Button des Ribbontabs ausgelöst wird.

Video passend zu diesem Artikel:

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Wenn Du nicht nur eigene Funktionen benötigst, die Du als Formeln in Excel nutzen möchtest, sondern auch noch VBA-Prozeduren programmiert hast, die Du gern in allen Excel-Workbooks auf Deinem Rechner einsetzen willst, findest Du in diesem Artikel die benötigten Vorgehensweise. Wir werden:

  • eine Excel-Add-In-Datei erstellen,
  • diese verfügbar machen,
  • der Datei ein Ribbon mit einer Schaltfläche und einem Icon hinzufügen sowie
  • eine Prozedur anlegen, die durch diese Schaltfläche ausgelöst wird.

Excel-Add-In-Datei erstellen

Das Erstellen der Add-In-Datei ist in wenigen Sekunden erledigt:

  • Lege ein neues Excel-Workbook an.
  • Speichere es unter dem Namen ExcelAddInMitRibbon.xlam als Excel-Add-In (*.xlam).

Fertig! Die neue Add-In-Datei wird automatisch in das Verzeichnis C:\Users\[Benutzername]\AppData\Roaming\Microsoft\AddIns verschoben.

Excel-Add-In verfügbar machen

Um das Excel-Add-In in Excel auf dem aktuellen Rechner verfügbar zu machen, nehmen wir eine Einstellungen in den Optionen von Excel vor:

  • Klicke im Ribbon auf Datei|Optionen.
  • Wechsle zum Bereich Add-Ins.
  • Klicke unter Verwalten für den Eintrag Excel-Add-Ins auf die Schaltfläche Los…
  • Suche den Eintrag Exceladdinmitribbon aus und setze einen Haken vor diesen Eintrag (siehe Bild 1) und schließe den Dialog und die Optionen wieder.
  • Aktivieren des Add-Ins

    Bild 1: Aktivieren des Add-Ins

Ribbon hinzufügen

Nun schließen wir die Add-In-Datei und öffnen ein Tool namens Office RibbonX Editor – mehr dazu siehe im Artikel Ribbons in Office-Dokumenten (www.vbentwickler.de/329).

  • Hier öffnen wir zuerst die frisch erstellte Excel-Add-In-Datei.
  • Danach erscheint im linken Bereich des Office RibbonX Editors ein Eintrag mit dem Namen der Daten.
  • Diesen klicken wir mit der rechten Maustaste an und wählen den Befehl Office 2010+ Custom UI-Abschnitt einfügen aus (siehe Bild 2).
  • Hinzufügen eines Ribbons zum Excel-Add-In

    Bild 2: Hinzufügen eines Ribbons zum Excel-Add-In

  • Dies fügt ein Unterelement namens customUI14.xml hinzu. Dieses klicken wir doppelt an.
  • Im nun erscheinenden neuen Bereich auf der rechten Seite fügen wir den Code aus Listing 1 ein.
  • <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
          <ribbon>
              <tabs>
                  <tab id="tabAmvFunktionen" label="amvFunktionen">
                      <group id="grpBeispiele" label="Beispiele" >
                          <button id="btnBeispiel" label="Beispiel" onAction="onAction"/>
                      </group>
                  </tab>
              </tabs>
          </ribbon>
    </customUI>

    Listing 1: Ribbon-Definition für ein einfaches Ribbon

  • Das Ergebnis sieht nun wie in Bild 3 aus.
  • Hinzufügen der Ribbon-Definition

    Bild 3: Hinzufügen der Ribbon-Definition

  • Nun klicken wir noch auf die Schaltfläche VBA-Methoden generieren. Dies öffnet den Dialog aus Bild 4. Die hier angezeigte Prozedur kopieren wir in die Zwischenablage.
  • Prozedur für die Schaltfläche des Ribbons

    Bild 4: Prozedur für die Schaltfläche des Ribbons

  • Außerdem benötigen wir noch ein Icon. Dazu klicken wir mit der rechten Maustaste auf den Eintrag customUI14.xml und wählen den Eintrag Icons einfügen… aus.
  • Im folgenden Dialog wählen wir eine geeignete Icon-Datei in der Größe 32×32 aus.
  • Diese erscheint anschließend unter dem Eintrag customUI14.xml (siehe Bild 5).
  • Bild für das Ribbon hinzufügen

    Bild 5: Bild für das Ribbon hinzufügen

  • Damit das Icon für die Schaltfläche angezeigt wird, fügen wir dem button-Element das Attribut image=”add” hinzu.
  • Damit die Schaltfläche außerdem groß angezeigt wird, fügen wir das Attribut size=”large” hinzu.

Damit sind die Arbeiten an dieser Stelle beendet und wir können den Office RibbonX Editor nach dem Speichern schließen.

Prozedur für den Ribbonbutton hinzufügen

Schließlich fügen wir noch die Prozedur in das VBA-Projekt der .xlam-Datei ein:

  • Öffne die Add-In-Datei, diesmal in Excel.
  • Wechsle mit Alt + F11 zum VBA-Editor.
  • Füge dem VBA-Projekt des Add-Ins mit dem Menübefehl Einfügen|Modul ein neues Standardmodul hinzu.
  • Benenne das Modul in mdlAddIn um und speichere es.
  • Füge dem Modul den weiter oben in die Zwischenablage kopierten Code der Prozedur onAction hinzu.

Die Prozedur erweitern wir noch wie folgt:

Sub onAction(control As IRibbonControl)
     MsgBox "Add-In-Button angeklickt!"
End Sub

Der VBA sollte nun etwa wie in Bild 6 aussehen.

Prozedur für die Schaltfläche des Ribbons im VBA-Editor

Bild 6: Prozedur für die Schaltfläche des Ribbons im VBA-Editor

Excel-Add-In mit Ribbon testen

Damit können wir das Excel-Add-In ausprobieren. Dazu schließen wir das Add-In und öffnen eine beliebige Excel-Datei.

Hier finden wir nun ganz rechts im Ribbon einen neuen Registerreiter namens amvFunktionen vor. Klicken wir diesen an, erscheint die soeben angelegte Schaltfläche (siehe Bild 7).

Der Ribbonbefehl des Add-Ins in Excel

Bild 7: Der Ribbonbefehl des Add-Ins in Excel

Auch der Test der Schaltfläche sollte gelingen: Er sollte die in der Prozedur enthaltene MsgBox-Funktion aufrufen.

Mögliche Anwendungen für das Add-In mit Ribbon

Anwendungsfälle für ein solches Add-In mit einem Ribbon und einer immer verfügbaren Prozedur lassen sich beispielsweise wie folgt charakterisieren:

Damit können wir zum Beispiel Funktionen implementieren, die wir nicht nur in einer, sondern in verschiedenen Workbooks benötigen werden.

Wir können damit verschiedene Operationen durchführen. Wenn Du zum Beispiel immer die gleichen Excel-Exporte bekommst, die auf eine bestimmte Art und Weise angepasst werden müssen, dann wäre ein solches Add-In eine Möglichkeit.

Es kann auch sein, dass diese Anpassungen vollautomatisch erfolgen können, ohne dass ein Mensch die Änderungen überprüfen muss – dann wäre eine .exe-Datei beispielsweise auf Basis eines twinBASIC-Projekts eine weitere Lösung.

Wenn das Ergebnis jedoch zumindest kurz geprüft werden muss, ist es sinnvoll, die zu ändernde Datei in Excel zu öffnen und dort die per Add-In bereitgestellte Funktion aufzurufen, um die notwendigen Änderungen durchzuführen.

Zusammenfassung und Ausblick

In diesem Artikel haben wir gezeigt, wie Du ein Excel-Add-In erstellst, es mit einem Ribbon versiehst, das immer in Excel angezeigt wird, und für die im Ribbon enthaltene Schaltfläche eine Prozedur hinterlegst.

In einem weiteren Artikel namens Excel: Benutzerdefinierte Funktionen per Add-In (www.access-im-unternehmen.de/363) schauen wir uns an, wie wir ein Excel-Add-In nutzen können, um Funktionen zu hinterlegen, die als Formel in allen Excel-Workbooks genutzt werden können, die Zugriff auf dieses Add-In haben.

Downloads zu diesem Beitrag

Enthaltene Beispieldateien:

ExcelAddInMitRibbon.xlsx

ExcelAddInMitRibbon.xlam

Download

Schreibe einen Kommentar