Bild 1: Das etwas unkomfortable Formatierungs-Popup von Rich-Text-Feldern
Wenn Sie Daten im Rich-Text-Format anzeigen, können Sie das kleine Popup-Menü zum Formatieren des aktuell markierten Textes nutzen. Manch einem Nutzer ist das zu fummelig, da das Menü nur eingeblendet wird, wenn Text markiert ist – und manchmal verschwindet es auch einfach wieder. Da professionelle Anwendungen üblicherweise nicht die eingebauten Ribbon-Einträge anzeigen sollen, stehen wir vor einem Dilemma – wie soll der Benutzer die Formatierungen auf komfortable Weise durchführen Das ist kein Problem: Wir fügen einfach ein benutzerdefiniertes Ribbon hinzu, das beim Aktivieren eines Textfeldes mit Rich-Text-Format automatisch aktiviert wird und beim Verlassen wieder verschwindet.
Wenn Sie einen Text im Rich-Text-Feld eines Formulars markieren, erscheint das Popup aus Bild 1 mit den Formatierungsmöglichkeiten. Vorher ist es allerdings nicht zu sehen, sodass unerfahrene Benutzer sich wundern, wie Sie Formatierungen für den Text vornehmen sollen. Außerdem wird das Popup-Menü wieder ausgeblendet, wenn sich die Maus nicht mehr über dem markierten und zu formatierenden Bereich befindet.
Bild 1: Das etwas unkomfortable Formatierungs-Popup von Rich-Text-Feldern
Wir wollen deshalb ein Ribbon hinzufügen, dass nur dann angezeigt wird, wenn der Benutzer das Rich-Text-Feld aktiviert hat. Die Befehle werden dann zunächst deaktiviert angezeigt. Wenn der Benutzer dann Text markiert, werden diese allerdings auch aktiviert.
Ribbon hinzufügen
Um das Ribbon hinzuzufügen, legen Sie eine Tabelle namens USysRibbons an. Diese sieht in der Entwurfsansicht wie in Bild 2 aus. Wenn Sie die Tabelle unter diesem Namen gespeichert haben, werden Sie diese möglicherweise im Navigationsbereich vermissen. Das liegt daran, dass der Name die Tabelle als Systemtabelle auszeichnet.
Bild 2: Entwurf der Ribbon-Tabelle
Um sie zu öffnen, aktivieren Sie die Anzeige von Systemobjekten und versteckten Objekten – Sie können diese aber auch einfach über den folgenden Befehl über das Direktfenster des VBA-Editors öffnen:
DoCmd.OpenTable "USysRibbons"
Danach geben Sie die Ribbon-Definition aus Listing 1 in das Feld RibbonXML ein. Dieses Definition legt fest, dass ein neues Ribbon eingeblendet wird und dass alle eingebauten Elemente ausgeblendet werden. Dazu haben wir das Attribut startFromScratch auf den Wert true eingestellt. Das einzige tab-Element des Ribbons enthält ein Group-Element, das eine eingebaute Ribbon-Gruppe referenziert. Diese heißt GroupTextFormatting.
<xml version="1.0"> <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> <ribbon startFromScratch="true"> <tabs> <tab id="tabRichText" label="Formatierung"> <group idMso="GroupTextFormatting"/> </tab> </tabs> </ribbon> </customUI>
Listing 1: Die Definition des Ribbons
Diese Gruppe entspricht genau den Elementen, die Sie sehen, wenn Sie das Start-Menü von Access aktivieren (siehe Bild 3).
Bild 3: Ribbon-Einträge zum Formatieren des Inhalts von Rich-Text-Feldern
Außerdem schreiben wir in das Feld RibbonName einen geeigneten Namen, in unserem Fall RichText. Diesen Namen benötigen wir gleich noch.
Name einer eingebauten Gruppe finden
Aber wie finden wir den Namen dieser Gruppe heraus, den wir der Eigenschaft idMso des group-Elements hinzufügen
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo