Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » how-to » Von Hand geschriebenes Menüband übernehmen

Von Hand geschriebenes Menüband übernehmen

Öffnen Sie ein Menüband, dessen RibbonXML von Hand in der Tabelle USysRibbons geschrieben wurde, im Menüband-Designer, um es von nun an dort zu bearbeiten.

Voraussetzungen: WKL Forms Object Library 1.58 oder höher.

Lösungsüberblick

Enthält die Datenbank Zeilen in USysRibbons, die nicht zum Menübandmodell gehören, zeigt die Seite Menübänder des Menüband-Designers die Karte Vorhandene Menübänder mit ihren Namen. Einlesen liest das RibbonXML jeder Zeile in das Modell ein: Registerkarten, Gruppen, Schaltflächen, Umschaltflächen, Menüs, geteilte Schaltflächen, Trenner, eingebaute Befehle (idMso) und eigene Registerkarten der Datei-Ansicht mit ihren Aufgaben. Jedes eigene Element wird zu einem Befehl, der nach seiner id benannt ist. Ein Element mit idMso wird zu einem Befehl mit der Aktion Eingebauter Befehl (idMso), den sich alle Stellen teilen, die ihn nennen.

Vor OK oder Übernehmen im Designer wird nichts geschrieben: Das Speichern ersetzt die übernommenen Zeilen in USysRibbons durch das erzeugte XML und schreibt das Callback-Modul. Abbrechen lässt die Datenbank, wie sie war. Nennt die Datenbankeigenschaft CustomRibbonID ein übernommenes Menüband und hat das Modell noch kein Anwendungsmenüband, wird dieses Menüband zum Anwendungsmenüband.

Umsetzung

  1. Öffnen Sie den Menüband-Designer (Add-In-Eintrag WKL Ribbon Designer oder WklRibbon.ShowDesigner aus VBA).
  2. Wählen Sie auf der Seite Menübänder in der Karte Vorhandene Menübänder den Befehl Einlesen.
  3. Lesen Sie die Liste unter der Schaltfläche: Jede Zeile nennt einen Teil, der weggelassen oder vereinfacht wurde.
  4. Beheben Sie, was die Liste nennt (siehe Hinweise), prüfen Sie die Seite Prüfen, und wählen Sie dann OK.
  5. Schließen Sie die Datenbank und öffnen Sie sie erneut; Access wendet Menübänder beim Öffnen der Datenbank an.

Ein onAction-Callback muss zu einer Funktion ohne Argumente werden. Vorher:

<button id="btnKunden" label="Kunden" onAction="OnKunden"/>
Public Sub OnKunden(control As IRibbonControl)
    DoCmd.OpenForm "frmKunden"
End Sub

Geben Sie dem Befehl btnKunden nach dem Übernehmen auf der Seite Befehle die Aktion Formular öffnen mit frmKunden oder die Aktion VBA-Funktion aufrufen mit:

Public Function OpenKunden() As Boolean
    DoCmd.OpenForm "frmKunden"
    OpenKunden = True
End Function

Ein als Ausdruck geschriebenes onAction (onAction="=OpenKunden()") wird ohne Hinweis als Aktion VBA-Funktion aufrufen OpenKunden übernommen.

Hinweise

Im XMLNach dem Übernehmen
onAction mit einem ProzedurnamenDer Befehl hat keine Aktion; ein Hinweis nennt die Prozedur.
getLabel, getVisible, getEnabled, getImage und andere get…-CallbacksMit Hinweis weggelassen; der statische Wert (zum Beispiel label) bleibt. Verwenden Sie für dynamische Werte die Bedingung des Befehls und das Laufzeitobjekt.
onLoad, loadImageMit Hinweis weggelassen; das erzeugte Modul hat eigene.
comboBox, editBox, dropDown, gallery, checkBox, dynamicMenu, labelControl, dialogBoxLauncherMit Hinweis weggelassen.
box, buttonGroupAufgelöst: Ihre Elemente bleiben in der Gruppe.
splitButton innerhalb eines MenüsWird zu einem Menü mit dem Befehl seiner Schaltfläche.
Eingebaute Registerkarte oder Gruppe (idMso an tab oder group)Mit Hinweis weggelassen.
qat, contextualTabs, commands, contextMenusMit Hinweis weggelassen.
visible="false" an einem eigenen ElementMit Hinweis weggelassen.
Eingebauter Eintrag der Datei-Ansicht mit visible="false"Beibehalten: als ausgeblendet in der Datei-Ansicht aufgeführt.
image mit einem Bild, dessen Name kein gültiger Name istMit Hinweis weggelassen.
id, die kein gültiger Name oder bereits vergeben istGültig und eindeutig gemacht (tab.Start wird zu tab_Start, ein zweites btnKunden wird zu btnKunden_2).

Ihre eigenen Callback-Prozeduren bleiben in Ihren Modulen; das erzeugte Menüband ruft sie nicht mehr auf. Entfernen Sie sie, sobald die Befehle ihre Aktionen haben.

Verwandte Themen

de/wiki/msaccess/comctl/how-to/take-over-a-ribbon-written-by-hand.txt · Zuletzt geändert: von Wolfgang van der Stille