Erstellen eines benutzerdefinierten Menübands in Access

Das Menüband – die Leiste am oberen Rand des Programmfensters, die Befehlsgruppen enthält – ist eine Komponente des Microsoft Office Fluent-Benutzeroberfläche. Die Office Fluent-Benutzeroberfläche stellt eine einzige Startseite für Befehle in Access.

Wenn Sie mit dem Erstellen von erweiterten Anwendungen mit Access beginnen, können Sie entscheiden, dass Sie das Office Fluent-Menüband anpassen möchten, um die Verwendung einer Anwendung zu vereinfachen. Sie können beispielsweise einige oder alle Standardregisterkarten ausblenden, damit Benutzer bestimmte Befehle nicht verwenden können, und Sie können neue, benutzerdefinierte Registerkarten erstellen, die nur die Befehle enthalten, die verfügbar sein sollen.

In allen Microsoft Office, die das Office Fluent-Benutzeroberfläche verwenden, verwenden Sie Extensible Markup Language (XML), um das Menüband anzupassen. Daher sind einige grundlegende Kenntnisse von XML hilfreich. Dieser Artikel behandelt keine XML-Konzepte, bietet Ihnen jedoch ein grundlegendes Anpassungsverfahren für das Menüband und einige Beispiel-XML, die Sie an Ihre Anforderungen anpassen können.

Dieser Artikel befasst sich mit dem Erstellen eigener benutzerdefinierter Menübands mithilfe von XML. Wenn Sie die integrierten Tools zum Ändern der vorhandenen Menübands verwenden möchten, lesen Sie Anpassen des Menübands in Office.

Was möchten Sie tun?

Lernen Sie die Anpassungstechniken des Menübands kennen

In Access Sie das Menüband anpassen, indem Sie xml für die Anpassung erstellen und dann Code hinzufügen oder Datenbankeigenschaften festlegen, die Access beim Erstellen des Menübands anweisen, diese XML zu verwenden. Sie können die XML verwenden, um vorhandene Registerkarten auszublenden und neue Registerkarten, Befehlsgruppen und Befehle hinzuzufügen. Die Verfahren in diesem Artikel zeigen Ihnen, wie Sie in Access integrierte Befehle hinzufügen (z. B. Suchen, Sortieren und Speichern) und Wie Sie Befehle hinzufügen, die access-Makros ausführen, die Sie selbst geschrieben haben.

Es gibt mehrere Orte, an denen Sie den XML-Code speichern können, aber eine der einfachsten Methoden ist das Speichern in einer Systemtabelle in der aktuellen Datenbank. Der Prozess umfasst das Erstellen einer Systemtabelle mit dem Namen USysRibbons, das Hinzufügen ihres Menüband-XML zu dieser Tabelle und die Angabe, ob das benutzerdefinierte Menüband für die gesamte Datenbank oder für ein bestimmtes Formular oder einen bestimmten Bericht angezeigt wird. Sie können mehrere benutzerdefinierte Menübands definieren – eines für die gesamte Anwendung und zusätzliche Menübands für einzelne Formulare oder Berichte in der Datenbank.

Erstellen und Anwenden eines benutzerdefinierten Menübands

In den folgenden Abschnitten finden Sie schrittweise Verfahren zum Erstellen und Anwenden eines benutzerdefinierten Menübands.

Vorbereitende Schritte

Anzeigen von Systemtabellen im Navigationsbereich    Standardmäßig werden Systemtabellen nicht im Navigationsbereich angezeigt, daher müssen Sie zuerst eine Einstellung im Dialogfeld Navigationsoptionen ändern, damit sie nach dem Erstellen der Tabelle "USysRibbons" angezeigt wird. Gehen Sie dazu wie folgt vor:

  1. Klicken Sie bei geöffneter Datenbank in Access mit der rechten Maustaste oben im Navigationsbereich auf die Navigationsleiste, und klicken Sie dann im Kontextmenü auf Navigationsoptionen.

  2. Aktivieren Sie im Dialogfeld Navigationsoptionen unter Anzeigeoptionendas Kontrollkästchen Systemobjekte anzeigen, und klicken Sie dann auf OK.

    Die Access-Systemtabellen werden im Navigationsbereich angezeigt.

Aktivieren der Anzeige von Fehlermeldungen zur Benutzeroberfläche des Add-Ins    Fehlermeldungen stellen eine wertvolle Informationsquelle bei der Erstellung und Problembehandlung von XML zur Anpassung des Menübands bei. Daher ist es eine gute Idee, access sie anzeigen zu lassen. Gehen Sie dazu wie folgt vor:

  1. Klicken Sie auf Datei > Optionen

  2. Klicken Sie auf Clienteinstellungen

  3. Aktivieren Sie unter Allgemeindas Kontrollkästchen Fehler bei der Benutzeroberfläche des Add-Ins anzeigen, und klicken Sie dann auf OK.

Erstellen der Systemtabelle "USysRibbons"

Verwenden Sie dieses Verfahren, um die Systemtabelle "USysRibbons" zu erstellen. Später verwenden Sie diese Tabelle zum Speichern des XML für die Menübandanpassung.

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Tabellen auf Tabellenentwurf.

  2. Fügen Sie der Tabelle die folgenden Felder hinzu. Geben Sie die Feldnamen genau wie dargestellt ein.

    Feldname

    Eingabe

    Feldgröße

    ID

    AutoWert

    Long Integer

    Menübandname

    Text

    255

    RibbonXml

    Memo

  3. Wenn Sie möchten, können Sie dieser Tabelle weitere Felder hinzufügen, z. B. ein Kommentarfeld, um die Funktion des Menüband-XML zu beschreiben.

  4. Wählen Sie das Feld ID aus. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Primärschlüssel.

  5. Klicken Sie auf der Symbolleiste für denSchnellzugriff auf Speichern,oder drücken Sie STRG+S. Benennen Sie die neue Tabelle USysRibbons.

Hinzufügen von XML zur Menübandanpassung zur Tabelle "USysRibbons"

Angenommen, Sie möchten im Sinne dieses Beispiels verhindern, dass die Benutzer Ihrer Datenbank eines der Tools auf der Registerkarte Erstellen verwenden. Darüber hinaus möchten Sie eine neue Registerkarte namens Eine benutzerdefinierte Registerkarte erstellen, auf der nur der Befehl Einfügen angezeigt wird, wie in der folgenden Abbildung dargestellt.

Registerkarte in einer benutzerdefinierten Multifunktionsleiste

Die XML im folgenden Verfahren erstellt diese Konfiguration.

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf die Tabelle USysRibbons, und klicken Sie dann im Kontextmenü auf Datenblattansicht.

  2. Fügen Sie der Tabelle die folgenden Daten hinzu. Sie können das XML-Beispiel aus diesem Artikel kopieren und direkt in die Tabelle einfügen.

    ID

    Menübandname

    RibbonXML

    (AutoWert)

    Meine Registerkarte

    <customUI xmlns="http://schemas.microsoft.com
    /office/2006/01/customui">
      <ribbon startFromScratch="false">
        <tabs>
          <tab idMso="TabCreate" visible="false" />
          <tab id="dbCustomTab" label="A Custom Tab" visible="true">
            <group id="dbCustomGroup" label="A Custom Group">
              <control idMso="Paste" label="Built-in Paste" enabled="true"/>
            </group>
          </tab>
        </tabs>
      </ribbon>
    </customUI>
    
  3. In dieser XML wird Access zuerst angewiesen, nicht "von Grund auf neu zu beginnen", d. h. es gibt an, dass Access die Standardregisterkarten des Menübands anzeigen soll. Anschließend weist sie Access an, nur eine der Standardregisterkarten auszublenden (die Registerkarte Erstellen). Schließlich erstellt sie eine neue Registerkarte im Menüband mit dem Namen "Eine benutzerdefinierte Registerkarte", fügt der Registerkarte eine Befehlsgruppe mit dem Namen "Eine benutzerdefinierte Gruppe" hinzu und fügt der Gruppe den Befehl Einfügen hinzu. Weitere Informationen zu diesem Beispiel und zur Anpassung an Ihre Anforderungen finden Sie im Abschnitt Verstehen des XML-Beispiels.

  4. Schließen Sie die USysRibbons-Tabelle, und schließen Sie dann die Datenbank, und öffnen Sie sie erneut.

Anwenden des benutzerdefinierten Menübands

Nachdem die benutzerdefinierte Menüband-XML nun in einer Tabelle gespeichert wurde, gehen Sie wie folgt vor– je nachdem, ob Sie das Menüband auf die gesamte Datenbank oder auf ein bestimmtes Formular oder einen bestimmten Bericht anwenden möchten.

  • Anwenden des benutzerdefinierten Menübands auf die gesamte Datenbank    

    1. Klicken Sie auf Datei > Optionen

    2. Klicken Sie aufAktuelle Datenbank, und wählen Sie dann unter Menüband- und Symbolleistenoptionendie Liste Menübandname aus, und klicken Sie dann auf das von Ihnen ausgewählte Menüband – in diesem Fall AufRegisterkarte .

    3. Klicken Sie auf OK.

  • Anwenden des benutzerdefinierten Menübands auf ein bestimmtes Formular oder einen bestimmten Bericht    

    1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Formular oder den Bericht, auf das Sie das benutzerdefinierte Menüband anwenden möchten, und klicken Sie dann im Kontextmenü auf Entwurfsansicht.

    2. Wenn das Eigenschaftenblatt noch nicht angezeigt wird, drücken Sie F4, um es anzuzeigen.

    3. Stellen Sie oben im Eigenschaftenblatt unter Auswahltyp sicher,dass der Objekttyp(Formular oder Bericht)in der Liste ausgewählt ist.

    4. Klicken Sie auf der Registerkarte Sonstige des Eigenschaftenblatts auf die Liste Menübandname, und klicken Sie dann auf das Menüband, das angezeigt werden soll, wenn Sie das Formular oder den Bericht öffnen (in diesem Fall Meine Registerkarte).

    5. Klicken Sie auf der Symbolleiste für denSchnellzugriff auf Speichern,oder drücken Sie STRG+S.

    6. Schließen Sie das Formular oder den Bericht, und doppelklicken Sie dann im Navigationsbereich darauf, um es erneut zu öffnen.

      Das ausgewählte Menüband wird angezeigt.

Nachdem Sie überprüft haben, ob ihr benutzerdefiniertes Menüband ordnungsgemäß funktioniert, können Sie die Systemtabellen erneut ausblenden, indem Sie die folgenden Schritte unternehmen:

  1. Klicken Sie oben im Navigationsbereich mit der rechten Maustaste auf die Navigationsleiste, und klicken Sie dann im Kontextmenü auf Navigationsoptionen.

  2. Aktivieren Sie im Dialogfeld Navigationsoptionen unter Anzeigeoptionendas Kontrollkästchen Systemobjekte anzeigen, und klicken Sie dann auf OK.

Seitenanfang

Wiederherstellen des Standardbands

Wenn Sie die Verwendung eines benutzerdefinierten Menübands beenden und das Standardband wiederherstellen möchten, verwenden Sie eines der folgenden Verfahren, je nachdem, ob das benutzerdefinierte Menüband von der gesamten Anwendung oder von einem bestimmten Formular oder Bericht verwendet wird.

Wiederherstellen des Standardmäßigen Menübands auf Anwendungsebene

  1. Klicken Sie auf Datei > Optionen

  2. Klicken Sie auf Aktuelle Datenbank,und löschen Sie dann unter Menüband- und Symbolleistenoptionenden Inhalt des Felds Menübandname.

  3. Schließen Sie die Datenbank, und öffnen Sie sie erneut.

Access zeigt die Standardregisterkarten des Menübands an. Die Menüband-XML verbleibt in der USysRibbons-Tabelle, bis Sie sie löschen. Wenn Sie also das benutzerdefinierte Menüband erneut aktivieren möchten, können Sie dies tun, indem Sie die Option Menübandname wieder auf den zuvor enthaltenen Wert festlegen.

Wiederherstellen des Standardbands für ein Formular oder einen Bericht

  1. Öffnen Sie das Formular oder den Bericht in der Entwurfsansicht.

  2. Wenn das Eigenschaftenblatt noch nicht angezeigt wird, drücken Sie F4, um es anzuzeigen.

  3. Stellen Sie oben im Eigenschaftenblatt unter Auswahltyp sicher,dass der Objekttyp(Formular oder Bericht)in der Liste ausgewählt ist.

  4. Löschen Sie auf der Registerkarte Sonstige des Eigenschaftenblatts den Inhalt des Eigenschaftenfelds Menübandname.

  5. Speichern, schließen und öffnen Sie dann das Formular oder den Bericht erneut.

Die Menüband-XML verbleibt in der USysRibbons-Tabelle, bis Sie sie löschen. Wenn Sie also das benutzerdefinierte Menüband erneut einrichten möchten, können Sie dies tun, indem Sie den Wert in der Eigenschaft Menübandname wieder auf den zuvor enthaltenen Wert festlegen.

Seitenanfang

Verstehen des XML-Beispiels

Hier sehen Sie das XML-Beispiel, das zuvor in diesem Artikel verwendet wurde, und eine Abbildung des benutzerdefinierten Menübands, das erstellt wurde.

<customUI xmlns="http://schemas.microsoft.com
/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab idMso="TabCreate" visible="false" />
      <tab id="dbCustomTab" label="A Custom Tab" visible="true">
        <group id="dbCustomGroup" label="A Custom Group">
          <control idMso="Paste" label="Built-in Paste" enabled="true"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Registerkarte in einer benutzerdefinierten Multifunktionsleiste

In diesem Beispiel legt die zweite Zeile von XML das StartFromScratch-Attribut auf False fest. Wenn Sie den Wert auf False festlegen, wird sichergestellt, dass Access alle vorhandenen Registerkarten intakt belässt und rechts neben den vorhandenen Registerkarten neue Registerkarten hinzufügt. Wenn Sie dieses Attribut auf True festlegen, werden alle vorhandenen Registerkarten entfernt und nur die registerkarten angezeigt, die Sie in Ihrem XML erstellen. Auch wenn Sie das startFromScratch-Attribut auf False festlegen,können Sie einzelne Registerkarten weiterhin ausblenden. Dies wird in der vierten Zeile von XML gezeigt, in der die integrierte Registerkarte Erstellen ausgeblendet wird. Die verbleibenden Zeilen erstellen eine benutzerdefinierte Registerkarte und eine benutzerdefinierte Gruppe, und fügen Sie der Gruppe dann den integrierten Befehl Einfügen mithilfe der folgenden XML-Zeile hinzu.

<control idMso="Paste" label="Built-in Paste" enabled="true"/>

Hinzufügen weiterer Gruppen oder Steuerelemente zum benutzerdefinierten Menüband    Sie können ihrem Menüband weitere Gruppen und Steuerelemente hinzufügen, indem Sie ähnliche XML-Zeilen hinzufügen und unterschiedliche idMso- und Beschriftungswerte ersetzen. Wenn Sie beispielsweise ein Steuerelement erstellen möchten, das das aktuell ausgewählte Objekt nach Excel exportiert, verwenden Sie die folgende XML.

<control idMso="ExportExcel" label="Export to Excel" enabled="true"/>

Wenn Sie das Steuerelement derselben Gruppe wie der Befehl Einfügen hinzufügen möchten, fügen Sie die neue XML-Zeile unmittelbar vor oder hinter der Zeile ein, die den Befehl Einfügen erstellt. Um eine neue Gruppe zu erstellen, können Sie die XML kopieren, einfügen und ändern, mit der oben die Gruppe "Benutzerdefinierte Gruppe" erstellt wird. Im folgenden Beispiel wird die XML veranschaulicht, die die beiden Steuerelemente zur benutzerdefinierten Gruppe hinzufügt.

<customUI xmlns="http://schemas.microsoft.com
/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab idMso="TabCreate" visible="false" />
      <tab id="dbCustomTab" label="A Custom Tab" visible="true">
        <group id="dbCustomGroup" label="A Custom Group">
          <control idMso="Paste" label="Built-in Paste" enabled="true"/>
        </group>
        <group id="dbCustomGroup2" label="Another Custom Group">
          <control idMso="ImportExcel" label="Import from Excel" enabled="true"/>
          <control idMso="ExportExcel" label="Export to Excel" enabled="true"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Mit dieser XML wird eine weitere Gruppe zu einer benutzerdefinierten Registerkarte hinzufügt. Wie in der folgenden Abbildung dargestellt, enthält die neue Gruppe zwei Steuerelemente– eines, das einen Importvorgang aus Excel initiiert, und eines, das einen Exportvorgang nach Excel initiiert.

Benutzerdefinierte Registerkarte der Multifunktionsleiste mit zwei Gruppen

Hinweis: Jeder Gruppen-ID- und Tabstopp-ID-Wert in einem benutzerdefinierten Menüband muss eindeutig sein.

Informationen zum idMso-Wert eines Befehls    Wenn Sie den idMso-Wert eines integrierten Befehls erfahren möchten, verwenden Sie das folgende Verfahren:

  1. Klicken Sie auf Datei > Optionen

  2. Klicken Sie auf Menüband anpassen oder Symbolleiste für den Schnellzugriff. 

  3. Bewegen Sie den Mauszeiger über das Element, zu dem Sie Informationen wünschen. Access zeigt den idMso-Wert des Steuerelements in einer QuickInfo in Klammern an.

Hinzufügen eines Befehls zum Ausführen eines Access-Makros    Sie können Ihrem benutzerdefinierten Menüband noch mehr Flexibilität hinzufügen, indem Sie Befehle hinzufügen, die Access-Makros ausführen. Angenommen, Sie haben ein Makro mit dem Namen MyMacro erstellt. Zum Hinzufügen eines Befehls zum Menüband, in dem das Makro ausgeführt wird, fügen Sie ihrer XML die folgende Zeile hinzu.

<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/>

Wenn Sie das Steuerelement derselben Gruppe wie der Befehl Einfügen im früheren Beispiel hinzufügen möchten, fügen Sie die neue XML-Zeile unmittelbar vor oder hinter der Zeile ein, die den Befehl Einfügen erstellt. Im folgenden Beispiel wird die XML veranschaulicht, die den Befehl hinzufügt.

<customUI xmlns="http://schemas.microsoft.com
/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab idMso="TabCreate" visible="false" />
      <tab id="dbCustomTab" label="A Custom Tab" visible="true">
        <group id="dbCustomGroup" label="A Custom Group">
          <control idMso="Paste" label="Built-in Paste" enabled="true"/>
         <button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/>
        </group>
        <group id="dbCustomGroup2" label="Another Custom Group">
          <control idMso="ImportExcel" label="Import from Excel" enabled="true"/>
          <control idMso="ExportExcel" label="Export to Excel" enabled="true"/>
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

Seitenanfang

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Office Insider werden

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×