AEK 17: Keine Scheu vor Ribbons (Michael Zimmermann)

Letzte Änderung am 9. Oktober 2021 by Christoph Jüngling

Bezüglich der Ribbons gibt es wohl keine einheitliche Meinung in der Community. Die Begeisterten und die Ribbon-Hasser sind vermutlich gleichermaßen unversöhnlich, aber über eines dürfte man sich einig sein: Es führt kein Weg mehr daran vorbei. Spätestens mit Office 2013 ist dann Schluss mit lustig, will heißen “Schluss mit Menüs und Symbolleisten”. Es geht für uns also darum, erst einmal zu verstehen, was diese “Bänder” können — und was nicht.

Michael Zimmermann, der seinen eigenen Vortrag “die sonntägliche Morgenandacht” nennt, beginnt mit einigen grundlegenden Dingen. Dazu gehört der Hinweis auf den Backstage-Bereich (das, was über das farblich abgesetzte “Datei” zugänglich ist und was man bei aktiven Ribbons zwar entleeren kann, aber niemals ganz los wird) und die Schnellstartleiste des Programmfensters. Beides wird ebenfalls über die XML-Daten gesteuert, die die Struktur und den Inhalt der neuen Menüs festlegen. Ein nicht unerheblicher Teil der Ribbon-Philosophie ist die Dynamik: Nur Dinge, die aktuell benötigt werden, sollen sichtbar und damit anklickbar sein.

Wie “gern” Michael Ribbons mag, verrät er uns gleich zu Beginn, nämlich “gar nicht”. Und so ist es nur logisch, wenn er erst einmal Code präsentiert, der alles, was sich nach Ribbon anfühlt, entfernt. Wenn man sie nun doch haben möchte, werden die Ribbons über die Tabelle USysRibbons konfiguriert. Diese Tabelle muss eine bestimmte Struktur haben. Das XML müssen wir nicht unbedingt von Hand schreiben, es gibt freie und auch kommerzielle Editoren dafür, wie z.B. den RibbonCreator von Gunter Avenius. Das ist sehr hilfreich, denn der XML-Code hat einige Formvorschriften, die streng eingehalten werden müssen. Ist ein Fehler drin, lädt das Ribbon einfach nicht. Ob dabei eine Fehlermeldung ausgegeben wird, kann in den Access-Optionen eingestellt werden. Ribbons kann es übrigens mehrere in einer Access-Applikation geben, die nach Bedarf beim Start geladen werden können.

Michael zeigt uns dann verschiedene Applikationen quer durch MS Office und demonstriert die Bedienung über deren Ribbons. Einen interessanten Denkansatz für das Ribbon-Design gibt es quasi in einem Nebensatz: Wenn ein Benutzer im Rahmen seines normalen Arbeitsflusses arbeitet, dann kann es hilfreich sein, dass er die notwendigen Ribbon-Elemente in dieser Reihenfolge von links nach rechts vorfindet.

Um auf die Interaktion des Benutzers mit den Ribbon-Elementen reagieren zu können, gibt es “on”- und “get”-Callback-Prozeduren. Diese stellen beliebige VBA-Subs bzw. Functions dar, die man namentlich im XML des Ribbons referenziert. Dies entspricht dem bekannten Event-Mechanismus aus den bisherigen Menü- und Symbolleistenelementen und kann auch genauso ausprogrammiert werden. Die “on”-Events melden z.B. Button-Klick-Aktionen, während “get”-Callbacks aufgerufen werden, um situativ Ribbon-Elemente sichtbar oder aktiviert schalten zu können.

Sehr unschön ist die Tatsache, dass außerhalb der Events die aktuellen Zustände der Ribbon-Elemente (z.B. der Status eines Toggle-Buttons) nicht mehr ausgelesen werden können. Dies muss die Applikation komplett nachbilden. Es hat den Anschein, als ob hier der “ViewModel”-Ansatz aus Microsofts “MVVM” zum Vorschein kommt, aber hilfreich ist so etwas an dieser Stelle wahrhaftig nicht.

Damit will ich meinen Bericht schließen. Die hier aufgezählten Informationen sind natürlich nur einige Highlights aus dem anderthalbstündigen Vortrag. Am Ende haben wir einen guten Überblick über das, was Ribbons sind und wie man damit umgehen kann. Die verhassten Ribbons — sie kosten einiges an Arbeit, aber es scheint machbar.

Ähnliche Artikel:

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.

16 + 7 =