CustomUI
Ein custom-UI-Dokument enthält Anpassungen des User Interface (UI) einer Anwendung. Siehe.
User Interface
Das UI besteht aus zwei Teilen:
- Quick Access Toolbar Customizations Part
- Ribbon Extensibility Part (Menüband)
Hier wird nur die Erweiterung des Menübandes ab Microisoft Office 2007 um einen eigenen Tabulator, mit Gruppen und Schaltknöpfen (Buttons) zum Aufruf von Befehlen beschrieben werden.
Ein Editor für das Menüband ist nicht im Office Paket enthalten. Allerdings gibt es freie Ribbon Editoren wie zum Beispiel: RibbonX Visual Designer 2010 Wird die Software vom Arbeitgeber vorgeschrieben und ist die Installation anderer Software durch den Nutzer nicht erlaubt, helfen ein Packprogramm für Zip-Dateien (z.B. 7z) und ein Text_Editor (z.B. notepad).
Mit Hilfe eines Pack-Programms (z.B. 7z) und eines Text-Editors (Notepad) lassen sich die MS-Office-Dokument per Hand modifizieren.
Ein Dokument (.docx, .xlsx, .pptx) besteht - wie ein OpenOffice- oder LibreOffice-Dokument - aus mehreren gezippten Dateien.
Um das Menüband zu erweitern müssen wir die Datei zuerst entpacken, dann fügen wir fehlende Verzeichnisse und Dateien hinzu oder ergänzen / passen Einträge an. Zum Schluss packen wir alles wieder in eine Datei. ( Mit 7z lassen sich diese Schritte auch direkt im gepackten MS-Office-Dokument vornehmen.
Klickt schwierig, ist aber ganz einfach. Um die Menüleiste um einen Eintrag zu erweitern müssen wir eine Dateien anpassen und eine Datei hinzufügen bzw. ergänzen.
Folgende rzwei Dateien sind für uns von Interesse:
- _rels/.rels
- customUI/ustomUI.xml
_rels/.rels =
Die Datei .rels im Ordner _rels ist immer vorhanden. Im Falle eines minimalen Excel-Dokumentes sieht die Datei (ergänzt um Zeilenumbrüche) wie folgt aus.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> <Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/> <Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/> <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/> </Relationships>
Diese Datei erweitern wir folgende Zeile / folgenden Eintrag:
<Relationship Id="ourId1" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml"/>
Wo wir den Eintrag zwischen <relationships ... und </relationships> einfügen ist unwichtig. Wichtig ist nur eine eindeutige id.
customUI/ustomUI.xml
In einem minimalen Dokument existiert das Verzeichnis und die Datei nicht.
Wir müssen daher Verzeichnis und Datei per Hand anlegen. Hier ein minimale Version für unseren Zweck.
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <tabs> <tab id="taE2A" label="Access"> <group id="taE2AGroup1" label="Get Access"> <button id="taE2AGSBtn1" visible="true" size="large" label="Insert Query" imageMso="ImportAccess" onAction="InsertQuery" screentip="Insert the result of a SQL query" supertip="Insert the result of a self defined SQL query fom an Access database the selected or another cell." /> </group> </tab> </tabs> </ribbon> </customUI>