Ribbon für Rich-Text-Felder

Das etwas unkomfortable Formatierungs-Popup von Rich-Text-Feldern

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.

Das etwas unkomfortable Formatierungs-Popup von Rich-Text-Feldern

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.

Entwurf der Ribbon-Tabelle

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).

Ribbon-Einträge zum Formatieren des Inhalts von Rich-Text-Feldern

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

Schreibe einen Kommentar