RibbonX-Workshop - Individuelle Schnellzugriffleiste

Normalerweise wird die Schnellzugriffleiste über das Officeprogramm angepasst. Dies hat jedoch den Nachteil, dass die Schaltflächensymbole (Icons) der integrierten Schaltflächen nicht geändert werden können. Schaltflächensymbole (Icons) für benutzerdefinierte Makroschaltflächen sind im Umfang reduziert, es steht also nur eine begrenzte Anzahl der eigendlich möglichen Schaltflächensymbole (Icons) zur Verfügung. Möchte man andere Schaltlächensymbole nutzen, mus man die userCustomization extern manipulieren. Wie man das macht, lernen wir hier.

Zuerst wird der Unterschied zwischen der QAT-Ebene in RibbonX und der userCustomization erklärt.

Über die QAT-Ebene in RibbonX lässt sich die Schnellstartleiste beeinflußen. Dies funktioniert jedoch nur, wenn startFromScratch auf True gesetzt ist. Wenn Sie dieses vergessen, wird der RibbonX-Code nicht ausgeführt. In RibbonX ist es nicht möglich, eigene Schaltflächen mit benutzerdefinierten Makros in die Schnellzugriffleiste zu integrieren. Sie können lediglich integrierte Schaltflächen aktivieren oder deaktivieren oder zusätzliche integrierte Schaltflächen zufügen (sharedControls). Hierzu muss aber startFromScratch auf True gesetzt werden. Das hat jedoch zur Folge, dass die Standardribbon deaktiviert werden. Daher empfiehlt es sich, eigene Makroschaltflächen über die userCustomization in die Schnellzugriffleiste zu integrieren.

Mit Hilfe der userCostumization ist es möglich, eigene Schaltflächen mit benutzerdefinierten Makros in die Schnellzugriffleiste zu integrieren. Die über die userCostumization erstelle Schnellzugriffleiste kann nicht durch RibbonX deaktiviert werden, da es sich hierbei um eine eigenständige Symbolleiste innerhalb der Schnellzugriffleiste handelt. Vorteil hierbei ist, dass die Standardribbon aktiviert bleiben.

Weder in RibbonX noch in der userCustomization können eigene Icons genutzt werden, das image-Tag steht nicht zur Verfügung. Bei fehlerhaften Einträgen in RibbonX und der userCustomization werden die Codes nicht ausgeführt.

Um eine eigene userCustomiation zu erstellen gehen Sie wie folgt vor. Da die xml-Datei der userCustomization in der Regel den selben Namen trägt wie die RibbonX-Datei (customUI), habe ich für die userCustomization den Namen icontoolbar gewählt. Die erfordert jedoch, dass diese in der .rels-Datei berücksichtigt wird.

Erstellen Sie eine neue Datei und speichern diese ab, zum Beispiel als *.xlam (Excel 2007-AddIn) oder für Word als Vorlage (*.dotm, Vorlage mit Makros).

Erstellen Sie zuerst einen Ordner mit dem Namen userCustomization. Achten Sie dabei auf die korrekte Schreibweise wie hier angegeben. Erstellen Sie nun mit Notepad eine neue Textdatei, geben Sie dieser den Namen icontoolbar und speichern Sie diese mit der Endung xml im zuvor erstellten Ordner ab. Kopieren Sie den folgenden code nun in der icontoolbar.xml, speichern die Änderung und schließen Sie zum Abschluß die Datei.

<mso:customUI xmlns:doc="http://schemas.microsoft.com/office/2006/01/customui/currentDocument"
                 xmlns:mso="http://schemas.microsoft.com/office/2006/01/customui">
   <mso:ribbon>
     <mso:qat>
         <mso:documentControls>
             <mso:button idMso="FileSaveAs" visible="true" imageMso="FileSaveAs"/>
             <mso:button id="FS" visible="true" label="Ruft den Oeffnen-Dialog auf" imageMso="FileOpen" onAction="Oeffnen"/>
         </mso:documentControls>
              </mso:qat>
  </mso:ribbon>
</mso:customUI>


Sie können nun den Code entsprechend anpassen und um eigene Schaltflächen erweitern. Achten Sie darauf, dass Sie die Grundstruktur des Codes nicht ändern. Der Beispielcode enthält jeweils eine Standardschaltfläche und eine benutzerdefinierte Schaltfläche mit eigenem Makro. Das Makro befindet sich dabei in einem Modul der Datei.

Speichern Sie nun die Wordvorlage im Word 2007 Startup-Ornder. Das Excel-AddIn binden Sie wie gewohnt über den Excel 2007 AddIn-Manager ein.

Wichtig:

Die über userCustomization erstellte Schnellzugriffleiste hat Vorrang vor der QAT-Ebene in RibbonX. Die über die userCustomization zur Schnellzugriffleiste hinzugefügten Elemente können nicht über RibbonX deaktiviert werden, sofern die Vorlage (bei Word) im Startuop-Ordner gespeichert wurde oder die Elemente über AddIn (bei Excel) eingebunden wurden. Das selbe gilt, wenn Ihre Datei sowohl RibbonX als auch userCustomization enthält.

Öffnen Sie nun mit Winzip die zuvor Erstellte Officedatei. Kopieren Sie dann den Ordner in den Dateikontainer. Öffnen Sie jetzt mit Wordpad die Datei .rels aus dem Dateikontainer heraus und ersetzen Sie den darin enthaltenen Text durch folgenden Code.

<?xml version="1.0" encoding="utf-8"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml" Id="rId3" />
<Relationship Type="http://schemas.microsoft.com/office/2006/relationships/ui/userCustomization" Target="userCustomization/icontoolbar.xml" Id="rId2" />
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml" Id="rId1" />
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml" Id="rId4" />
</Relationships>


Sie können auch die Beispieldatei herunterladen , und somit die Beispielcodes über Winzip anschauen. Wenn Sie den Aufwand scheuen und trotzdem andere Schaltflächensymbole (Icons) haben möchten, dann haben Sie auch die Möglichkeit, die entsprechende QAT-Datei zu ändern. Suchen Sie nach der entsprechenden Datei (Word.qat, Excel.qat) und öffnen Sie diese mit Wordpad. Der Code entspricht nahezu dem oben genannten. Auch in den QAT-Dateien können keine eigenen Icons genutzt werden, das image-Tag steht nicht zur Verfügung. Es können nur integrierte Schaltflächensymbole genutzt werden (imageMso).

In Office 2010 werden die Einstellungen für die Schnellzugriffleiste nicht mehr in den QAT-Dateien abgelegt, sondern in Dateien mit der Endung officeUI. Die officeUI-Dateien sind in zwei "Abschnitte" unterteilt. Der erste Abschnitt (<mso:qat>) enthält die Einstellungen für die Schnellzugriffleiste, der zweite Abschnitt (<mso:tabs>) die Einstellung für das Menüband.

Um den Namen der Schaltflächensymbole zu erhalten, laden Sie sich die Officecontrol.xlam herunter. Die Namen der Schaltflächen entnehmen Sie den entsprechenden Tabellen. Zum herunterladen der Dateien gehen Sie zum Beitrag "Download der Beispieldateien".