Zum Inhalt springen
Der Guide für ein smartes Leben.
VG Wort Pixel
Tipps & Tricks

Access 2007: Eigene Befehle im Menüband anlegen

Seit Access 2007 gibt es standardmäßig keine Möglichkeit mehr, eigene Befehle ins Menüband zu integrieren. Mit einem Trick erweitern oder ersetzen Sie das Menüband dennoch.

Autor: Peter Schnoor • 26.4.2016 • ca. 6:40 Min

Business
Wir geben Tipps für Office!
© Oleksiy Mark/ shutterstock.com

Damit Sie ein eigenes Menüband in Access 2007 aufbauen können, müssen Sie zunächst eine neue Tabelle in Access anlegen. Es muss sich dabei um eine Systemtabelle mit dem Namen USysRibbons handeln. In dieser Tabelle werden später die XML-Definitionen für die gewünsch...

Damit Sie ein eigenes Menüband in Access 2007 aufbauen können, müssen Sie zunächst eine neue Tabelle in Access anlegen. Es muss sich dabei um eine Systemtabelle mit dem Namen USysRibbons handeln. In dieser Tabelle werden später die XML-Definitionen für die gewünschten Erweiterungen angelegt. Zum Ausprobieren dieser Technik legen Sie am besten eine neue Access-Datenbank mit dem Namen MeinMenü an. Aktivieren Sie die Optionen im Register Datei. Das Dialogfenster Access-Optionen wird eingeblendet. Wählen Sie die Kategorie Aktuelle Datenbank aus. Klicken Sie hier im Bereich Navigation auf die Schaltfläche Navigationsoptionen. Das gleichnamige Dialogfenster wird eingeblendet.

Im unteren Bereich dieses Dialogfensters finden Sie den Bereich Anzeigeoptionen. Setzen Sie einen Haken in das Kontrollkästchen Systemobjekte anzeigen. Nach der Bestätigung werden im Navigationsbereich alle vorhandenen Systemtabellen angezeigt. Jetzt können Sie eigene Systemtabellen erstellen und bearbeiten.

Erstellen der Systemtabelle für Ihr Menüband

Aktivieren Sie das Register Erstellen und klicken Sie dort auf das Symbol Tabellenentwurf. Sie müssen in dieser Tabelle folgende Felder anlegen:

  • Name: ID, Datentyp: AutoWert
  • Name: RibbonName
  • Datentyp: Text (Ab Access Version 2016 nehmen Sie den Da tentyp: Kurzer Text)
  • Name: RibbonXML,
  • Datentyp: Memo (Ab Access Version 2016 nehmen Sie den Da tentyp: Langer Text)
Navigationsoptionen
Vor dem Erstellen einer Systemtabelle müssen Sie die Ansicht für Systemobjekte aktivieren.
© Screenshot WEKA / PC-Magazin

Durch das Setzen der ID auf den Datentyp Autowert wird jeder neue Datensatz automatisch um eine Nummer hochgezählt. Markieren Sie die Zeile ID und weisen Sie diesem Feld einen Primärschlüssel zu. Klicken Sie dazu auf das gleichnamige Symbol im Menüband. Durch diese Einstellung ist jeder Eintrag im Feld ID einmalig. Das System verhindert, dass Sie eine bereits vergebene Nummer ein zweites Mal eingeben können (abgesehen davon, dass die Nummer durch Autowert ohnehin immer um eins erhöht wird). Klicken Sie in der Symbolleiste für den Schnellzugriff auf das Symbol Speichern. Geben Sie in das sodann eingeblendete Dialogfenster als Namen USysRibbons ein und bestätigen Sie mit einem Klick auf OK. Die Systemtabelle ist erstellt. Schließen Sie die Entwurfsansicht und öffnen Sie anschließend die Tabelle.

Daten für das Menüband in die Systemtabelle einpflegen

Nachdem die Tabelle geöffnet ist, geben Sie in das Feld RibbonName die Bezeichnung Test ein. Das ist der Name für Ihr neues Menü. Bei der Eingabe wird das Feld ID automatisch mit einer Nummer versehen. In das Feld RibbonXml tippen Sie folgende XML-Definition ein:

<customUI xmlns="https://schemas.mi crosoft.com/office/2006/01/customui"> <ribbon startFromScratch="false"> <tabs> <tab id="Test.Tab" label="PC Magazin" > <group id="Test.Group" label="PCMagazin-Gruppe" > <button id="btnTest" label="Test" imageMso="HappyFace" size="large" screentip="Testaufruf ei ner Prozedur..." onAction="TestAufruf" /> </group> </ tab> </tabs> </ribbon> </customUI>

RibbonName
Ihre Systemtabelle für das Menüband muss genau drei Felder enthalten. Die XML-Definition schreiben Sie in das Feld RibbonXML. Die Namen müssen genau mit den Vorgaben übereinstimmen.
© SCreenshot WEKA / PC-Magazin

Die erste Zeile enthält den Namespace und muss exakt wie abgebildet eingegeben werden. Die nächste Zeile legt fest, das alle bestehenden Menübefehle weiterhin angezeigt werden.

Lesetipp: Office 2016 im Test

Die folgenden Zeilen legen den Registernamen, den Gruppennamen und den Befehlsnamen fest. Weitere Informationen finden Sie unter accessribbon.de.

Um sich die Eingabe in das Datenbankfeld zu vereinfachen, betätigen Sie die Tastenkombination Umschalt + F2. Daraufhin wird das Fenster Zoom eingeblendet. In dieses Fenster lassen sich die Befehle übersichtlich eingeben.

Ein anderes Bild für den Befehl auswählen

Anstatt des Icons HappyFace für Ihren neuen Befehl im Menüband können Sie auch andere Icons auswählen. Wichtig ist, den korrekten ID-Namen einzugeben. Hierfür gibt es zwar keine offizielle Dokumentation, aber mit einem kleinen Trick bekommen Sie die ID-Namen bestehender Icons heraus: Klicken Sie auf den Befehl Symbolleiste für den Schnellzugriff anpassen. Wählen Sie den Befehl Weitere Befehle. Fahren Sie mit der Maus über die Symbole. In dem zu jedem Bild angezeigten Tooltipp finden Sie am Ende der Beschreibung in Klammern die gültigen ID-Namen. Schreiben Sie diesen ID-Namen in Ihre XML-Definition.

Symbolleiste
Mit einem Trick lassen sich die ID-Namen der Symbole sichtbar machen, die Sie für Ihre eigenen Befehle verwenden können. Access stellt das entsprechende Symbol dann in Ihrem Menüband dar.
© SCreenshot WEKA / PC-Magazin

Eine noch größere Auswahl an Vorschlägen bekommen Sie, wenn Sie mit dem Auswahlfeld Befehle auswählen den Eintrag COMPUTING Alle Befehle festlegen. Am Beispiel des Icons Bild sieht die XML-Definition dann folgendermaßen aus:

<button id="btnTest" label="Test" imageMso="ControlImage"

Das Aktivieren des Menübands

Noch gibt es keinen Code zum Ausführen des neuen Befehls. Bevor dieser Befehl erstellt wird, soll zunächst einmal getestet werden, ob das neue Register auch angezeigt wird. Schließen Sie dazu zunächst die Tabelle USysRibbons. Aktivieren Sie dann das Register Datei und klicken Sie auf den Befehl Optionen. Wählen Sie die Kategorie Aktuelle Datenbank aus. Stellen Sie im Bereich Menüband- und Symbolleistenoptionen das Auswahlfeld Name des Menübands auf den Eintrag Test ein. Das ist der Name aus dem Feld RibbonName in der Tabelle USysRibbons. Falls dieses Menüband nicht im Auswahlfeld erscheint, müssen Sie die Datenbank einmal schließen und wieder öffnen.

Lesetipp: Lösungen für typische Office-Fehler

Nach der Auswahl Ihres Menübands schließen Sie die Datenbank ebenfalls und öffnen sie wieder. Jetzt finden Sie das Register PC Magazin mit der Gruppe PCMagazin-Gruppe und dem Befehl Test. Das Register wird rechts neben den bestehenden Access-Registern angezeigt.

Mit einem Klick auf den neuen Befehl Test erscheint eine Fehlermeldung. Der Code zum Ausführen des Befehls muss noch geschrieben werden.

Der Code wird in VBA erstellt. Mit der Tastenkombination Alt + F11 wechseln Sie in die VBA-Entwicklungsumgebung von Access. Klicken Sie hier im Menü auf den Befehl Einfügen und im Untermenü auf den Befehl Modul. Ändern Sie im Bereich Eigenschaften den Namen des Moduls auf Menübefehle um. Damit das Programm ausgeführt werden kann, muss noch auf eine Objekt-Bibliothek verwiesen werden. Klicken Sie daher im Menü auf den Befehl Extras und wählen Sie im Untermenü den Befehl Verweise aus. Das gleichnamige Dialogfenster wird eingeblendet. Setzen Sie eine Referenz auf die Microsoft Office XX Object Library. Das XX steht für die von Ihnen verwendete Access-Version.

Object Library
Bevor Ihre Prozedur lauffähig ist, müssen Sie einen Verweis auf die Microsoft Office Object Library erstellen.
© SCreenshot WEKA / PC-Magazin

Nachdem die Referenz gesetzt ist, kann die Prozedur erstellt werden. Zum Erstellen einer einfachen Testprozedur tippen Sie in das Codefenster folgende Zeilen ein:

Sub TestAufruf(control As IRibbonControl)
MsgBox "Der Menübefehl funktioniert", vbInformation, "PC Magazin"
End Sub

Im Gegensatz zu anderen allgemeinen Modulen können Sie diese Prozedur nicht direkt im Codefenster starten. Speichern Sie die Prozedur ab und wechseln Sie in das Access-Fenster. Mit einem Klick auf Ihren selbst erstellten Befehl Test wird Ihre Prozedur ausgeführt.

Weitere Befehle einfügen

Sie haben die Möglichkeit, die Befehle in Ihrem eigenen Menüband zu erweitern. Sie können aber auch ein weiteres Menüband erstellen. Das soll in diesem Beispiel passieren. Öffnen Sie dazu die Tabelle USysRibbons. Fügen Sie einen neuen Datensatz an. Benennen Sie das Feld RibbonName mit dem Text PCMagazin. In das Feld RibbonXML tippen Sie folgende Definition ein:

<customUI xmlns="https://schemas.mi crosoft.com/office/2006/01/customui"> <ribbon startFromScratch="true"> <tabs> <tab id="PCMagazin.Tab" label="PC Magazin" > <group id="PCMagazin.Group" label="PCMagazin-Befehle" > <button id="btnInfo" label="Information" imageMso="ControlImage" size="large" screentip="Informationen zur Programmversion" onAction="InfoAufruf" /> <button id="btnSchließen" label="Access schließen" imageMso="MasterViewClose" size="large" screentip="Access beenden" onAction="EndeAufruf" /> </group> </ tab> </tabs> </ribbon> </customUI>

Mit dieser Definition legen Sie zwei ausführbare Befehle fest. Der erste Befehl dient zur Anzeige der Version, und der zweite Befehl soll das Programm Access schließen. Jetzt erstellen Sie noch die beiden Prozeduren für die Befehle. Sie erstellen diese Befehle in der Access-Entwicklerumgebung:

Sub InfoAufruf(control As IRibbonCon trol)
MsgBox "Sie arbeiten mit der Version 1.0", vbInformation, "PC Magazin"
End Sub
Sub EndeAufruf(control As IRibbonCon trol)
DoCmd.Quit
End Sub

Damit das neue Menüband aktiv werden kann, schließen Sie zunächst die Datenbank und öffnen sie wieder. Stellen Sie in den Optionen dieser Datenbank den Namen des Menübands auf PCMagazin ein. Danach müssen Sie die Datenbank nochmals schließen und öffnen.

Jetzt werden durch die XML-Definition <ribbon startFromScratch="true"> alle Standardregister im Menüband sowie die Befehle in der Schnellstartleiste ausgeblendet und lediglich das von Ihnen erstellte Register angezeigt.

Mehr zum Thema
lexware-elektronisches-fahrtenbuch_aufmacher
Kaufmännische Anwendung Lexware elektronisches Fahrtenbuch im Test
95,0%
corel-mindmanager_intro
Software Lexware fehlzeiten 2018
Betrieblicher Urlaubsplaner Lexware fehlzeiten 2018 im Test
94,0%
PDF-Konverter Able2Extract Professional 12