Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.
Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.
Bei der Anpassung des Ribbons ist aller Anfang schwer, vor allem für VBA-verwöhnte Entwickler: Immerhin haben Sie es hier mit XML zu tun, und dies ist bezüglich der korrekten Groß- und Kleinschreibung mindestens so pingelig wie die Korrektorin dieses Buches. Fangen Sie also mit einem ganz einfachen Beispiel an, das im Ribbon nur ein Tab mit einer einzigen Schaltfläche anlegen soll.
Der einfachste Weg ist, das notwendige XML-Dokument in einer speziell für diesen Zweck vorgesehenen Tabelle zu speichern, die einen festen Aufbau und den Namen USysRibbons haben muss. Access liest beim Starten einer Anwendung alle in dieser Tabelle enthaltenen Datensätze ein und stellt diese zur Auswahl zur Verfügung (wo, erfahren Sie weiter unten).
Wenn Sie diese Tabelle unter diesem Namen anlegen und speichern, scheint sie plötzlich verschwunden zu sein. Der Grund ist, dass Access alle Tabellen mit bestimmten Anfangsbuchstaben (etwa MSys... oder USys...) standardmäßig für Systemtabellen hält und ausblendet. Zu sehen bekommen Sie diese Tabellen, wenn Sie in den Navigationsoptionen (Kontextmenü des Navigationsfensters, Eintrag Navigationsoptionen...) die Option Systemobjekteanzeigen aktivieren.
Zum Speichern von Ribbon-Definitionen in der Tabelle USysRibbons gehen Sie wie folgt vor: Legen Sie eine neue Tabelle an und fügen Sie die in Abbildung 12.5 dargestellten Felder hinzu. Das Feld RibbonName (Text, 255 Zeichen) soll die später in einer Auswahlliste angezeigte Bezeichnung enthalten, das Feld RibbonXML (Memofeld) den für die Erstellung notwendigen XML-Code.
Abbildung 12.5: Die Tabelle USysRibbons speichert die Informationen zu benutzerdefinierten Anpassungen des Ribbons
Wechseln Sie dann in die Datenblattansicht der Tabelle und legen Sie einen neuen Datensatz an. Für das Feld RibbonName tragen Sie die Bezeichnung RibbonMitEinerSchaltflaeche ein, für das Feld RibbonXML den folgenden XML-Code:
Listing 12.1: XML-Code für das Anlegen eines Ribbons mit einer einzigen Schaltfläche
Das Attribut startFromScratch des Elements ribbon legt fest, ob die eingebauten Ribbons angezeigt (false) oder ausgeblendet werden sollen (true). Jedes Ribbon-XML-Dokument enthält ein tabs-Element, das wiederum eines oder mehrere tab-Elemente enthält. Ein tab-Element entspricht einer eigenen Registerseite des Ribbons. Im vorliegenden Fall hat das tab-Element die Attribute id,label und visible. Das Attribut id muss für jedes Element vorhanden sein. Das group-Element leitet eine Gruppe eines Ribbons ein - das ist ein eigener Bereich, der ein oder mehrere Steuerelemente enthalten kann. Es ist das einzig mögliche Unterelement des tab-Elements, jedes Tab muss also eine Gruppe enthalten. Das button-Element schließlich beschreibt die eigentliche Schaltfläche, die in diesem Fall einfach nur angezeigt wird und keinerlei Funktion hat. Das Ribbon soll schließlich wie in Abbildung 12.6 aussehen.
Abbildung 12.6: Dieses Ribbon entspricht der Definition aus Listing 12.1
Vor der Anzeige des Ribbons müssen Sie jedoch noch einige weitere Schritte durchführen, denn irgendwie muss Access ja noch erfahren, dass es dieses Ribbon anzeigen soll. Nach dem Einfügen des Ribbon-Datensatzes in die Tabelle USysRibbons schließen Sie die Datenbank und öffnen diese erneut, damit Access die in der Tabelle enthaltenen Ribbons einliest - und zwar in die Liste der verfügbaren benutzerdefinierten Ribbons. Am schnellsten schließen Sie die Datenbank und starten diese neu, wenn Sie den Eintrag Verwalten|Datenbankkomprimierenundreparieren aus dem Office-Menü auswählen.
Die vorhandenen Ribbons finden Sie in den Access-Optionen im Bereich AktuelleDatenbank|Multifunktionsleisten-undSymbolleistenoptionen unter NamederMultifunktionsleiste (siehe Abbildung 12.7). Wenn Sie hier das soeben angelegte Ribbon-XML-Dokument auswählen, fordert Access Sie zum Schließen und erneuten Öffnen der Anwendung auf und zeigt dann endlich das modifizierte Ribbon an.
Die Tabelle USysRibbons der Beispieldatenbank enthält übrigens einige Dutzend Ribbon-Definitionen, deren Code in diesem Kapitel ausschnittweise besprochen wird.