Ribbons in Office-Dokumenten

Word, Excel und PowerPoint sind die Office-Anwendungen, mit denen Du Dokumente anzeigen und bearbeiten, aber auch automatisieren kannst. Wenn Du beispielsweise einer Excel-Arbeitsmappe eigene, per VBA programmierte Funktionen hinzufügen möchtest, musst Du diese irgendwie aufrufen. Eine Schaltfläche in einem Excel-Arbeitsblatt ist eine Möglichkeit. Die Alternative ist, einen entsprechenden Befehl im Ribbon zu platzieren. Wie das gelingt, zeige ich im vorliegenden Artikel. Dabei erfährst Du auch einige Dinge rund um die Office Open XML-Formate und wie die Daten in diesen Dokumenten gespeichert sind – darunter auch die Definitionen von Ribbons und die darin anzuzeigenden Icons.

Grundlagen: Das Office Open XML-Format

Jede Datei, die in einem der Office Open XML-Formate gespeichert ist, besteht aus einem Dateicontainer, der auf einer einfachen, komponentenbasierten und komprimierten ZIP-Dateiformatspezifikation aufbaut. Das gilt zum Beispiel für Dateien mit der Dateiendung .docx, .xlsx oder .pptx, aber natürlich auch für verwandte Dokumentformate.

Kern der Office Open XML-Formate ist die Verwendung von XML-Referenzschemas und eines ZIP-Containers. Jede Datei setzt sich aus einer Auflistung einer beliebigen Anzahl von Komponenten zusammen. Diese Auflistung definiert das Dokument.

Dokumentkomponenten werden mithilfe des ZIP-Formats in der Containerdatei beziehungsweise dem Paket gespeichert. Bei den meisten Komponenten handelt es sich um XML-Dateien, die in der Containerdatei gespeicherte Anwendungsdaten, Metadaten und sogar Kundendaten beschreiben.

Im Containerpaket können andere, Nicht-XML-Komponenten einschließlich Komponenten wie Binärdateien, die im Dokument eingebettete Bilder oder OLE-Objekte darstellen, enthalten sein. Zusätzlich werden durch Beziehungskomponenten die Beziehungen zwischen Komponenten festgelegt.

Dieser Entwurf stellt die Struktur für Office-Dateien dar. Während sich der Inhalt der Datei aus Komponenten zusammensetzt, beschreiben die Beziehungen, wie die einzelnen Komponenten zusammenarbeiten.

Die Zusammensetzung einer Datei nach dem Office Open XML-Standard kannst Du Dir ansehen, indem Du ein solches Dokument extrahierst. Dazu gehst Du wie folgt vor – hier am Beispiel einer neuen, leeren Excel-Datei mit dem Dateinamen Beispiel.xlsx:

  • Benenne die Datei im Windows Explorer in Beispiel.zip um.
  • Bestätige den nun erscheinenden Hinweis mit einem Klick auf die Schaltfläche Ja.
  • Durch einen Doppelklick auf die Datei wird die Ordnerstruktur geöffnet und die Einzelkomponenten, aus der die Datei besteht, werden angezeigt. Je nach Inhalt der Datei werden nur die tatsächlich benötigten Ordner zur Speicherung einzelner Komponenten erstellt.
  • Um die Datei wieder in der Office-Anwendung bearbeiten zu können, stellst Du einfach den alten Dateinamen wieder her.

Wir wollen uns aber zuerst kurz den Inhalt anschauen. Die wichtigsten Daten, also die in den Arbeitsblättern gespeicherten Informationen, finden wir in einem Unterordner namens xl|worksheets. In Bild 1 sehen wir beispielsweise das mit sheet1.xml benannte Arbeitsblatt.

Komprimierter Zip-Container einer Excel-Arbeitsmappe

Bild 1: Komprimierter Zip-Container einer Excel-Arbeitsmappe

Ribbons anpassen

Die standardmäßig in Office integrierten Ribbons mit ihren Tabs, Groups und Controls wurden von Microsoft so in die interne Anwendungsstruktur integriert, dass eine direkte Bearbeitung durch den Benutzer oder Entwickler über die Benutzeroberfläche oder auch über ein Objektmodell, wie bei den Menü- und Symbolleisten von Office 2003 und älter, nicht möglich ist.

Stattdessen formulieren wir die gewünschten Änderungen etwa zum Ausblenden oder Deaktivieren integrierter Elemente oder zum Hinzufügen eigener Tabs, Groups und Controls in das Ribbon nach einem bestimmten Schema in der Auszeichnungssprache XML. Wie ein XML-Dokument zur Anpassung des Ribbons aussieht, ist an dieser Stelle noch gar nicht wichtig – darum kümmern wir uns in weiteren Artikeln. Erstmal interessiert uns, wie man die in einem XML-Dokument formulierten Anpassungen für den Benutzer sichtbar macht.

Dazu gibt es mehrere Möglichkeiten, die auch davon abhängen, in welchem Zusammenhang die Anpassungen gültig sein sollen. Es kann sein, dass der Benutzer eine dauerhafte Änderung wünscht, um etwa Befehle aus dem Datei-Menü direkt im Start-Tab einer Office-Anwendung verfügbar zu machen, oder eine Änderung soll nur in Zusammenhang mit einer bestimmten Dokumentvorlage wirksam werden. Vielleicht ist es aber auch nur ein einziges Dokument, wie eine Excel-Datei, die ja prinzipiell eine eigene Anwendung sein kann, das Änderungen am Ribbon hervorrufen soll.

Wo man nun Hand anlegen muss, um eine Anpassung des Ribbons zu erreichen, hängt auch von der Anwendung ab: Bei Excel, Word und PowerPoint kann man dies durch Manipulation des jeweils geladenen Dokuments erreichen (wobei dies auch eine normale oder eine globale Vorlage sein kann), bei Access funktioniert dies ebenfalls über eine, wenn auch anders geartete, Anpassung der geladenen Datei und in Outlook sind schon richtige Programmierkenntnisse gefragt.

Da wir die Vorgehensweise unter Access und Outlook in separaten Artikeln beschreiben, geht es zunächst zu den Office Open XML-Dokumenten, die ohne großen Änderungsaufwand sowohl als Dokumente als auch als Vorlagen verwendet werden können.

Ribbon-Definition als XML-Datei

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Visual Basic Entwickler:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 200 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar