Das Menüband, d. h. der Streifen am oberen Rand des Programmfensters, der Gruppen von Befehlen enthält, ist eine Komponente der Benutzeroberfläche von Microsoft Office Fluent. Die Office Fluent-Benutzeroberfläche bietet eine zentrale Anlaufstelle für Befehle in Access.
Wenn Sie mit dem Erstellen erweiterter Anwendungen mit Access beginnen, entscheiden Sie sich möglicherweise, das Office Fluent-Menüband anzupassen, um die Verwendung einer Anwendung zu vereinfachen. Sie können beispielsweise einige oder alle Standardregisterkarten ausblenden, sodass 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-Programmen, die die Office Fluent-Benutzeroberfläche verwenden, verwenden Sie Extensible Markup Language (XML) zum Anpassen des Menübands. Daher sind einige Grundkenntnisse in XML hilfreich. Dieser Artikel behandelt keine XML-Konzepte, enthält jedoch eine grundlegende Anpassungsprozedur für das Menüband und einige XML-Beispieldateien, die Sie entsprechend Ihren Anforderungen ändern können.
Dieser Artikel konzentriert sich auf das Erstellen eigener benutzerdefinierter Menübänder mit XML. Wenn Sie die integrierten Tools zum Ändern der vorhandenen Menübänder verwenden möchten, lesen Sie Anpassen des Menübands in Office.
Inhalt dieses Artikels
- Grundlegendes zu Techniken zur Anpassung des Menübands
- Erstellen und Anwenden eines benutzerdefinierten Menübands
- Wiederherstellen des Standardmenübands
- XML-Beispiel verstehen
Grundlegendes zu Techniken zur Anpassung des Menübands
In Access passen Sie das Menüband an, indem Sie XML-Anpassungsdateien erstellen und dann Code hinzufügen oder Datenbankeigenschaften festlegen, die Access anweisen, dieses XML beim Erstellen des Menübands zu verwenden. Sie können den XML-Code verwenden, um vorhandene Registerkarten auszublenden und neue Registerkarten, Befehlsgruppen und Befehle hinzuzufügen. Die Verfahren in diesem Artikel zeigen Ihnen, wie Sie Befehle hinzufügen, die in Access integriert sind (z. B. Suchen, Sortieren und Speichern), und wie Sie Befehle hinzufügen, mit denen Access-Makros ausgeführt werden, die Sie selbst geschrieben haben.
Es gibt mehrere Orte, an denen Sie den XML-Code speichern können, aber eine der einfachsten Methoden ist es, ihn in einer Systemtabelle in der aktuellen Datenbank zu speichern. Der Prozess umfasst das Erstellen einer Systemtabelle mit dem Namen USysRibbons, das Hinzufügen Ihres Menüband-XML und das anschließende Angeben, ob das benutzerdefinierte Menüband für die Datenbank als Ganzes oder für ein bestimmtes Formular oder einen bestimmten Bericht angezeigt wird. Sie können mehrere benutzerdefinierte Menübänder definieren – eines für die gesamte Anwendung und zusätzliche Menübänder für einzelne Formulare oder Berichte in der Datenbank.
Erstellen und Anwenden eines benutzerdefinierten Menübands
Die folgenden Abschnitte enthalten schrittweise Vorgehensweisen zum Erstellen und Anwenden eines benutzerdefinierten Menübands.
Bevor Sie beginnen
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 die Tabelle USysRibbons nach dem Erstellen sehen können. Gehen Sie dazu wie folgt vor:
- Klicken Sie bei geöffneter Datenbank in Access mit der rechten Maustaste auf die Navigationsleiste oben im Navigationsbereich, und klicken Sie dann im Kontextmenü auf Navigationsoptionen .
- Aktivieren Sie im Dialogfeld "Navigationsoptionen " unter "Anzeigeoptionen" das Kontrollkästchen "Systemobjekte anzeigen ", und klicken Sie dann auf "OK".
Die Access-Systemtabellen werden im Navigationsbereich angezeigt.
Anzeige von Fehlermeldungen der Add-In-Benutzeroberfläche aktivieren Fehlermeldungen sind eine wertvolle Informationsquelle bei der Erstellung und Problembehandlung von XML-Dateien zur Anpassung des Menübands. Daher ist es ratsam, sie von Access anzeigen zu lassen. Gehen Sie dazu wie folgt vor:
- Klicken Sie auf "Dateioptionen>".
- Klicken Sie auf "Clienteinstellungen".
- Aktivieren Sie unter "Allgemein" das Kontrollkästchen "Fehler der Add-In-Benutzeroberfläche anzeigen", und klicken Sie dann auf "OK".
Erstellen der USysRibbons-Systemtabelle
Gehen Sie wie folgt vor, um die USysRibbons-Systemtabelle zu erstellen. Später verwenden Sie diese Tabelle zum Speichern Ihres XML-Codes zur Anpassung des Menübands.
Klicken Sie auf der Registerkarte Erstellen in der Gruppe Tabellen auf Tabellenentwurf.
Fügen Sie der Tabelle die folgenden Felder hinzu. Geben Sie die Feldnamen exakt wie gezeigt ein.
Feldname F Feldgröße ID AutoWert Long Integer ribbonName Text 255 RibbonXml Memo Bei Bedarf können Sie dieser Tabelle weitere Felder hinzufügen, z. B. ein Kommentarfeld, um die Funktion des Menüband-XML zu beschreiben.
Wählen Sie das ID-Feld aus. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Primärschlüssel.
Klicken Sie auf der Symbolleiste für den Schnellzugriff auf "Speichern", oder drücken Sie STRG+S. Nenne die neue Tabelle USysRibbons.
Hinzufügen einer XML-Anpassung des Menübands zur USysRibbons-Tabelle
In diesem Beispiel nehmen Sie an, dass Sie verhindern möchten, dass die Benutzer Ihrer Datenbank eines der Tools auf der Registerkarte "Erstellen" verwenden. Darüber hinaus möchten Sie eine neue Registerkarte namens "Benutzerdefinierte Registerkarte " erstellen, auf der sich nur der Befehl "Einfügen" befindet, wie in der folgenden Abbildung dargestellt.
Die XML-Datei im folgenden Verfahren erstellt diese Konfiguration.
Klicken Sie im Navigationsbereich mit der rechten Maustaste auf die Tabelle USysRibbons , und klicken Sie dann im Kontextmenü auf Datenblattansicht .
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 ribbonName RibbonXML (AutoNumber) 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> Mit diesem XML-Code wird Access zunächst angewiesen, nicht "bei null anzufangen", d. h. er gibt an, dass Access die Standardregisterkarten des Menübands anzeigen soll. Anschließend wird Access angewiesen, nur eine der Standardregisterkarten (die Registerkarte "Erstellen ") auszublenden. Schließlich wird eine neue Registerkarte des Menübands mit dem Namen "Benutzerdefinierte Registerkarte" erstellt, der Registerkarte eine Befehlsgruppe mit dem Namen "Benutzerdefinierte Gruppe" und der Gruppe der Befehl "Einfügen" hinzugefügt. Weitere Informationen zu diesem Beispiel und zum Anpassen an Ihre Anforderungen finden Sie im Abschnitt Grundlegendes zum XML-Beispiel.
Schließen Sie die Tabelle USysRibbons, schließen Sie die Datenbank, und öffnen Sie sie erneut.
Anwenden des benutzerdefinierten Menübands
Nachdem die benutzerdefinierte Menüband-XML in einer Tabelle gespeichert wurde, führen Sie einen der folgenden Schritte aus – abhängig davon, ob Sie das Menüband auf die gesamte Datenbank oder auf ein bestimmtes Formular bzw. einen bestimmten Bericht anwenden möchten.
Anwenden des benutzerdefinierten Menübands auf die gesamte Datenbank
- Klicken Sie auf "Dateioptionen>".
- Klicken Sie auf Aktuelle Datenbank, und wählen Sie dann unter Menüband- und Symbolleistenoptionen die Liste Menübandname aus. Klicken Sie dann auf das gewünschte Menüband – in diesem Fall meine Registerkarte.
- Klicken Sie auf OK.
Anwenden des benutzerdefinierten Menübands auf ein bestimmtes Formular oder einen bestimmten Bericht
- Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Formular oder den Bericht, auf das bzw. den Sie das benutzerdefinierte Menüband anwenden möchten, und klicken Sie dann im Kontextmenü auf Entwurfsansicht .
- Wenn das Eigenschaftenblatt noch nicht angezeigt wird, drücken Sie F4, um es anzuzeigen.
- Stellen Sie oben auf dem Eigenschaftenblatt unter Auswahltyp sicher, dass der Objekttyp (Formular oder Bericht) in der Liste ausgewählt ist.
- Klicken Sie auf der Registerkarte "Sonstige " des Eigenschaftenblatts auf die Liste "Menübandname " und dann auf das Menüband, das beim Öffnen des Formulars oder Berichts angezeigt werden soll (in diesem Fall Registerkarte "Meine Registerkarte").
- Klicken Sie auf der Symbolleiste für den Schnellzugriff auf "Speichern", oder drücken Sie STRG+S.
- Schließen Sie das Formular oder den Bericht, und doppelklicken Sie 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 wieder ausblenden, indem Sie die folgenden Schritte ausführen:
- Klicken Sie mit der rechten Maustaste oben im Navigationsbereich auf die Navigationsleiste, und klicken Sie dann im Kontextmenü auf Navigationsoptionen .
- Deaktivieren Sie im Dialogfeld "Navigationsoptionen " unter "Anzeigeoptionen" das Kontrollkästchen "Systemobjekte anzeigen ", und klicken Sie dann auf "OK".
Wiederherstellen des Standardmenübands
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, um die Verwendung eines benutzerdefinierten Menübands zu beenden und das Standardmenüband wiederherzustellen.
Wiederherstellen des Standardmenübands auf Anwendungsebene
- Klicken Sie auf "Dateioptionen>".
- Klicken Sie auf Aktuelle Datenbank, und löschen Sie dann unter Menüband- und Symbolleistenoptionen den Inhalt des Felds Name des Menübands .
- Schließen Sie die Datenbank, und öffnen Sie sie erneut.
Access zeigt die standardmäßigen Registerkarten des Menübands an. Die Menüband-XML verbleibt in der Tabelle USysRibbons, bis Sie sie löschen. Wenn Sie also das benutzerdefinierte Menüband wiederherstellen möchten, können Sie dies tun, indem Sie die Option für den Menübandnamen auf den zuvor enthaltenen Wert zurücksetzen.
Wiederherstellen des Standardmenübands für ein Formular oder einen Bericht
- Öffnen Sie das Formular oder den Bericht in der Entwurfsansicht.
- Wenn das Eigenschaftenblatt noch nicht angezeigt wird, drücken Sie F4, um es anzuzeigen.
- Stellen Sie oben auf dem Eigenschaftenblatt unter Auswahltyp sicher, dass der Objekttyp (Formular oder Bericht) in der Liste ausgewählt ist.
- Löschen Sie auf der Registerkarte "Sonstige " des Eigenschaftenfensters "Menübandname" den Inhalt des Eigenschaftenfelds "Menübandname ".
- Speichern, schließen Sie das Formular oder den Bericht, und öffnen Sie es erneut.
Die Menüband-XML verbleibt in der Tabelle USysRibbons, bis Sie sie löschen. Wenn Sie also das benutzerdefinierte Menüband wiederherstellen möchten, können Sie dies tun, indem Sie den Wert in der Eigenschaft Menübandname auf den zuvor enthaltenen Wert zurücksetzen.
XML-Beispiel verstehen
Hier sehen Sie das XML-Beispiel, das weiter oben in diesem Artikel verwendet wurde, und eine Abbildung des erstellten benutzerdefinierten Menübands.
| <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> |
|---|
In diesem Beispiel legt die zweite XML-Zeile das Attribut startFromScratch auf False fest. Durch Festlegen des Werts auf "False" wird sichergestellt, dass alle vorhandenen Registerkarten von Access intakt bleiben und alle neuen Registerkarten rechts neben den vorhandenen Registerkarten hinzugefügt werden. Wenn Sie dieses Attribut auf True festlegen, werden alle vorhandenen Registerkarten entfernt, und es werden nur diejenigen angezeigt, die Sie in Ihrem XML-Code erstellen. Auch wenn Sie das startFromScratch-Attribut auf "False" festlegen, können Sie einzelne Registerkarten ausblenden. Dies wird durch die vierte XML-Zeile veranschaulicht, die die integrierte Registerkarte "Erstellen " ausblendet. Mit den verbleibenden Zeilen erstellen Sie eine benutzerdefinierte Registerkarte und eine benutzerdefinierte Gruppe und fügen der Gruppe dann den integrierten Befehl "Einfügen " hinzu, indem Sie die folgende XML-Zeile verwenden.
<control idMso="Paste" label="Built-in Paste" enabled="true"/> |
|---|
Hinzufügen zusätzlicher 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 Bezeichnungswerte ersetzen. Um beispielsweise ein Steuerelement zu erstellen, das das aktuell ausgewählte Objekt nach Excel exportiert, verwenden Sie den folgenden XML-Code.
<control idMso="ExportExcel" label="Export to Excel" enabled="true"/> |
|---|
Um das Steuerelement der gleichen Gruppe wie der Befehl Einfügen hinzuzufügen, fügen Sie die neue XML-Zeile unmittelbar vor oder hinter der Zeile ein, die den Befehl Einfügen erstellt. Zum Erstellen einer neuen Gruppe können Sie den XML-Code kopieren, einfügen und ändern, der die obige Gruppe "Benutzerdefinierte Gruppe " erstellt. Das folgende Beispiel zeigt den XML-Code, mit dem die beiden Steuerelemente der benutzerdefinierten Gruppe hinzugefügt werden.
| <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> |
|---|
Diese XML-Datei fügt eine weitere Gruppe zu einer benutzerdefinierten Registerkarte hinzu. 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.
Hinweis
Jeder Gruppen-ID - und Registerkarten-ID-Wert in einem benutzerdefinierten Menüband muss eindeutig sein.
Den idMso-Wert eines Befehls lernen Um den idMso-Wert eines integrierten Befehls zu ermitteln, gehen Sie wie folgt vor:
- Klicken Sie auf "Dateioptionen>".
- Klicken Sie auf Menüband anpassen oder Symbolleiste für den Schnellzugriff.
- 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 Ihr benutzerdefiniertes Menüband noch flexibler gestalten, indem Sie Befehle hinzufügen, mit denen Access-Makros ausgeführt werden. Angenommen, Sie haben ein Makro mit dem Namen MeinMakro erstellt. Um Ihrem Menüband einen Befehl hinzuzufügen, der das Makro ausführt, fügen Sie Ihrem XML-Code die folgende Zeile hinzu.
<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/> |
|---|
Um das Steuerelement der gleichen Gruppe wie der Einfügebefehl aus dem vorherigen Beispiel hinzuzufügen, fügen Sie die neue XML-Zeile unmittelbar vor oder nach der Zeile ein, die den Einfügebefehl erstellt. Das folgende Beispiel zeigt den XML-Code, mit dem der Befehl hinzugefügt wird.
| <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> |
|---|