In Excel ist es möglich eigene Schaltflächen in vorhanden Tabs oder neue Tabs einzufügen und diese mit Funktionen zu versehen z.B. Aufruf eines Makros.

Aktuell gibt es keine Makro Interaktion zwischen cobby Buttons und dem cobby Filter.

Als erstes wird das Tool OfficeCustomUIEditor benötigt, diese kann hier (http://openxmldeveloper.org/cfs-file.ashx/__key/communityserver-components-postattachments/00-00-00-02-39/OfficeCustomUIEditorSetup.zip) kostenfrei heruntergeladen werden. Bei der installation ist nichts besonders zu beachten, einfach den Anweisungen des Assistenten folgen.

Als nächstes erstellen wir gemeinsam eine Excel Mappe mit einer Funktion die über unseren Button aufgerufen werden kann.

Dazu starten wir Excel und erstellen ein Leeres Dokument anschließend wird das Visual Basic Studio mit ALT + F11 geöffnet

Als nächstes wird ein neues Modul eingefügt über

Insert > Module

      =====vielleicht auslassen und direkt die Funktion einfügen bis zum nächsten=====

Diese ist leer, das ändern wir in dem über

Insert > Procedure...

Eine neue Funktion hinzufügen und dieser den Namen „CustomAction“ geben und Wichtig bei Typ muss Function und bei Scope muss Public ausgewählt werden.

         ==================================================================

In die leere Klasse fügen wir unser Funktion ein die vom Button aufgerufen wird,

Public Function CustomAction(control As IRibbonControl)   MsgBox ("Hallo Ribbon")End Function 

Wichtig dabei ist das die Funktion Public ist und als Parameter control As IRibbonControl enthält, fehlt das wird diese nicht aufgerufen. Wir haben jetzt eine simple Funktion die eine Textbox mit dem Text „Hallo Ribbon“ anzeigt.

Nun Speichern wir die Excel Mappe, beim „Speichern unter“-Dialog muss mit Makro ausgewählt werden denn sonst werden nur die Tabellen gespeichert und unsere Funktion würde fehlen.

Nun starten wir das vorhin installierte Programm.

Und Öffnen unsere Excel Mappe

Nach dem Öffnen ist erstmal nichts zu sehen außer dem Dateinamen auf der linken Seite.
Über Insert > Sample XML > Custom Tab fügen wir ein Beispiel ein damit man nicht bei 0 anfangen muss.

Das Beispiel hat folgendes XML in den rechten Editierbereich eingefügt

<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">

                                        <buttonid="customButton" label="Custom Button" imageMso="HappyFace" size="large" onAction="Callback" />

                                </group>

                        </tab>

                </tabs>

        </ribbon>

</customUI>

id                       ein Eindeutiger Name zum identifizieren des Objekts
label                  Anzeigetext
imageMso         Icon-Name aus der Office-Icon-Sammlung
size                    Größe des Buttons small oder large
onAction            Name der Funktion die aufgerufen werden soll

Hier sieht man jetzt das ein Tab mit dem Anzeigetext „Custom Tab“ erstellt wird und in diesem befindet sich die Gruppe „Custom Group“ welcher einen Button mit dem Text „Custom Button“ enthält. Beim Klick auf den Button wird die Funktion Callback aufgerufen.

Wir müssen nur eine Kleinigkeit verändern damit wir das schon so nutzen könne und zwar den onAction Wert, hier muss „CustomAction“ (der Name unsere Funktion) rein.

Jetzt nur noch speichern und wir könne es schon Testen, sollte ihr eine Fehlermeldung beim Speichern bekommt vergewissert euch, das die Datei nicht in Excel noch offen ist.

 

Fertig, jetzt können wir unser ersten eigenen Button in Excel anschauen dazu öffnen wir unser gespeicherte Mappe CustomRibbon.xlsm und sieh da es gibt einen neuen Tab, mit unserem Button.

Möche man einen Button in den cobby Tab hinzufügen geht das so

 

<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">

                                        <buttonid="customButton" label="Custom Button" imageMso="HappyFace" size="large" onAction="Callback" />

                                </group>

                        </tab>

                </tabs>

        </ribbon>

</customUI>

Über Insert > Office 2010 Custom UI Part fügen wir ein neues Dokument hinzu.

Jetzt haben wir die Möglichkeit auf der rechten Seite unsere Ribbon Elemente zu definieren, das Ganze geschieht in XML was eine festgelegt Form hat.

Did this answer your question?