Anpassen der Multifunktionsleiste

Die Multifunktionsleiste, die Leiste im oberen Bereich des Programmfensters, auf der sich Gruppen mit Befehlen befinden, ist ein Bestandteil der neuen Microsoft Office Fluent-Benutzeroberfläche. Auf der Office Fluent-Benutzeroberfläche befinden sich alle Befehle von Microsoft Office Access 2007; die aus früheren Versionen von Access bekannten Menüs und Symbolleisten werden in erster Linie durch diese Benutzeroberfläche ersetzt.

In dem Maße, wie Sie beginnen, erweiterte Anwendungen mit Office Access 2007 zu erstellen, möchten Sie eventuell die Office Fluent-Multifunktionsleiste anpassen, um eine Anwendung benutzerfreundlicher zu gestalten. Sie können z. B. einige oder alle Standardregisterkarten ausblenden, damit die Benutzer bestimmte Befehle nicht verwenden können, und Sie können neue, benutzerdefinierte Registerkarten erstellen, die nur die Befehle enthalten, die zur Verfügung stehen sollen.

In allen 2007 Microsoft® Office System-Programmen mit der Office Fluent-Benutzeroberfläche können Sie die Multifunktionsleiste mithilfe von XML (Extensible Markup Language) (Extensible Markup Language (XML): Eine komprimierte Form der Standard Generalized Markup Language (SGML), mit deren Hilfe Entwickler benutzerdefinierte Tags erstellen können, die eine flexible Organisation und Präsentation von Informationen ermöglichen.) anpassen. Daher sind einige Grundkenntnisse in XML hilfreich. Dieser Artikel befasst sich nicht mit XML-Konzepten, aber Sie finden hier eine Vorgehensweise für eine einfache Anpassung der Multifunktionsleiste sowie Beispiel-XML zum Anpassen entsprechend Ihren Anforderungen.

Nähere Informationen zu XML und zum Anpassen der Multifunktionsleiste erhalten Sie, wenn Sie in diesem Artikel auf die Verknüpfungen im Abschnitt Siehe auch klicken.

Was möchten Sie tun?


Kennenlernen des Verfahrens zum Anpassen der Multifunktionsleiste

In Office Access 2007 können Sie die Multifunktionsleiste anpassen. Hierfür erstellen Sie einen Anpassungs-XML-Code und fügen dann Code hinzu oder legen die Datenbankeigenschaften fest, um Access anzuweisen, dass beim Erstellen der Multifunktionsleiste dieser XML-Code verwendet werden soll. Sie können dann mithilfe des XML-Codes vorhandene Registerkarten ausblenden und neue Registerkarten, Befehlsgruppen und Befehle hinzufügen. In den in diesem Artikel vorhandenen Verfahren wird Ihnen gezeigt, wie Befehle hinzugefügt werden, die in Access integriert sind (z. B. Suchen, Sortieren und Speichern), und wie Befehle hinzugefügt werden, die von Ihnen selbst geschriebene Access-Makros ausführen.

Es gibt mehrere Orte, an denen der XML-Code gespeichert werden kann, aber eine der einfachsten Methoden besteht darin, ihn in einer Systemtabelle in der aktuellen Datenbank zu speichern. Der Prozess beinhaltet folgende Schritte: Sie erstellen eine Systemtabelle mit dem Namen USysRibbons, fügen Ihren XML-Code für die Multifunktionsleiste hinzu und geben dann an, ob die benutzerdefinierte Multifunktionsleiste die Anzeige für die gesamte Datenbank übernimmt oder nur für ein bestimmtes Formular oder einen bestimmten Bericht. Es können mehrere benutzerdefinierte Multifunktionsleisten definiert werden: eine für die gesamte Anwendung und weitere Multifunktionsleisten für einzelne Formulare oder Berichte in der Datenbank.

Seitenanfang Seitenanfang

Erstellen und Anwenden einer benutzerdefinierten Multifunktionsleiste

In den folgenden Abschnitten werden schrittweise die Verfahren zum Erstellen und Anwenden einer benutzerdefinierten Multifunktionsleiste vorgestellt.

Vorbemerkung

Anzeigen der Systemtabellen im Navigationsbereich    In der Standardeinstellung werden die Systemtabellen nicht im Navigationsbereich angezeigt. Deshalb müssen Sie zuerst eine Einstellung im Dialogfeld Navigationsoptionen ändern, damit Sie die Tabelle USysRibbons sehen können, nachdem Sie sie erstellt haben. Gehen Sie hierzu wie folgt vor:

  1. Wenn die Datenbank in Access geöffnet ist, klicken Sie 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 Anzeigeoptionen das Kontrollkästchen Systemobjekte anzeigen, und klicken Sie dann auf OK.

Die Systemtabellen werden im Navigationsbereich angezeigt.

Aktivieren der Anzeige von Fehlermeldungen für Add-In-Benutzeroberflächen    Fehlermeldungen sind eine wertvolle Informationsquelle beim Erstellen von Anpassungs-XML-Code für die Multifunktionsleiste und beim Beheben von darin enthaltenen Programmfehlern. Daher empfiehlt es sich, dafür zu sorgen, dass die Fehlermeldungen in Access angezeigt werden. Gehen Sie hierzu wie folgt vor:

  1. Klicken Sie auf die Schaltfläche Microsoft Office Abbildung der Schaltfläche, und klicken Sie anschließend auf Access-Optionen.
  1. Klicken Sie auf Erweitert.
  2. Aktivieren Sie unter Allgemein das Kontrollkästchen Fehler in Benutzeroberflächen in Add-Ins anzeigen, und klicken Sie dann auf OK.

Erstellen der Systemtabelle USysRibbons

Erstellen Sie nach diesem Verfahren die Systemtabelle USysRibbons. Später werden Sie in dieser Tabelle Ihren Anpassungs-XML-Code für die Multifunktionsleiste speichern.

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Tabellen auf Tabellenentwurf.
  1. Fügen Sie der Tabelle die folgenden Felder hinzu. Vergewissern Sie sich, dass Sie die Feldnamen genauso wie vorgegeben geschrieben haben.
Feldname Typ Feldgröße
ID AutoWert Long Integer
NamederMultifunktionsleiste Text 255
RibbonXml Memo
  1. Nach Wunsch können Sie der Tabelle weitere Felder hinzufügen, z. B. ein Kommentarfeld, um die Funktion des XML-Codes für die Multifunktionsleiste zu beschreiben.
  2. Wählen Sie das Feld ID aus. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Extras auf Primärschlüssel.
  3. Klicken Sie auf der Symbolleiste für den Schnellzugriff auf Speichern, oder drücken Sie STRG+S. Geben Sie der neuen Tabelle den Namen USysRibbons.

Fügen Sie den Anpassungs-XML-Code für die Multifunktionsleiste der Tabelle USysRibbons hinzu.

Nehmen Sie für dieses Beispiel einmal an, dass Sie verhindern möchten, dass die Benutzer Ihrer Datenbank irgendwelche Tools auf der Registerkarte Erstellen verwenden. Außerdem möchten Sie eine neue Registerkarte mit der Bezeichnung Benutzerdefinierte Registerkarte (Eine benutzerdefinierte Registerkarte) erstellen, die nur den Befehl Paste (Einfügen) enthält, wie die nächste Abbildung zeigt.

Registerkarte in einer benutzerdefinierten Multifunktionsleiste

Der XML-Code in der folgenden Prozedur 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 NamederMultifunktionsleiste 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>
  1. Dieser XML-Code weist Access zuerst an, nicht von ganz vorn zu beginnen, d. h. er gibt an, dass Access die Standardregisterkarten der Multifunktionsleiste anzeigen soll. Danach wird Access mitgeteilt, dass nur eine der Standardregisterkarten ausgeblendet werden soll (die Registerkarte Create (Erstellen)). Abschließend wird eine neue Registerkarte für die Multifunktionsleiste mit dem Namen „Benutzerdefinierte Registerkarte“ (Eine benutzerdefinierte Registerkarte) erstellt, dieser Registerkarte eine Befehlsgruppe mit dem Namen „Benutzerdefinierte Gruppe“ (Eine benutzerdefinierte Gruppe) hinzugefügt und der Gruppe der Befehl „Paste“ (Einfügen) hinzugefügt. Weitere Informationen zu diesem Beispiel und zum bedarfsgerechten Anpassen des Beispiels finden Sie im Abschnitt Informationen zum XML-Beispiel.
  2. Schließen Sie die Tabelle USysRibbons, und schließen Sie dann die Datenbank, und öffnen Sie sie erneut.

Anwenden der benutzerdefinierten Multifunktionsleiste

Nachdem jetzt der XML-Code für die benutzerdefinierte Multifunktionsleiste in einer Tabelle gespeichert ist, führen Sie eine der folgenden Aktionen aus, je nachdem, ob die Multifunktionsleiste für die gesamte Datenbank oder für ein bestimmtes Formular oder einen bestimmten Bericht verwendet werden soll.

  • Anwenden der benutzerdefinierten Multifunktionsleiste auf die gesamte Datenbank    
    1. Klicken Sie auf die Schaltfläche Microsoft Office Abbildung der Schaltfläche, und klicken Sie anschließend auf Access-Optionen.
  1. Klicken Sie auf Aktuelle Datenbank, wählen Sie dann unter Multifunktionsleisten- und Symbolleistenoptionen die Liste Name der Multifunktionsleiste aus, und klicken Sie danach auf die gewünschte Multifunktionsleiste, in diesem Fall Meine Registerkarte.
  2. Klicken Sie auf OK.
  • Anwenden der benutzerdefinierten Multifunktionsleiste 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 oder den die benutzerdefinierte Multifunktionsleiste angewendet werden soll, und klicken Sie dann im Kontextmenü auf Entwurfsansicht.
  2. Wenn das Eigenschaftenblatt nicht bereits angezeigt wird, drücken Sie F4, um es anzuzeigen.
  3. Vergewissern Sie sich im oberen Bereich des Eigenschaftenblatts unter Auswahltyp, dass in der Liste der Objekttyp (Formular oder Bericht) ausgewählt ist.
  4. Klicken Sie auf der Registerkarte Andere des Eigenschaftenblatts auf Name der Multifunktionsleiste, und klicken Sie dann auf die Multifunktionsleiste, die beim Öffnen des Formulars oder Berichts (in diesem Fall Meine Registerkarte) geöffnet werden soll.
  5. Klicken Sie auf der Symbolleiste für den Schnellzugriff auf Speichern, oder drücken Sie STRG+S.
  6. Schließen Sie das Formular oder den Bericht, und öffnen Sie es danach erneut mit einem Doppelklick auf den Navigationsbereich.

Die von Ihnen ausgewählte Multifunktionsleiste wird angezeigt.

Nachdem Sie überprüft haben, das die benutzerdefinierte Multifunktionsleiste ordnungsgemäß funktioniert, können Sie die Systemtabellen wieder ausblenden. Hierzu gehen Sie wie folgt vor:

  1. Klicken Sie mit der rechten Maustaste oben im Navigationsbereich auf die Navigationsleiste, und klicken Sie dann im Kontextmenü auf Navigationsoptionen.
  2. Deaktivieren Sie im Dialogfeld Navigationsoptionen unter Anzeigeoptionen das Kontrollkästchen Systemobjekte anzeigen, und klicken Sie dann auf OK.

Seitenanfang Seitenanfang

Wiederherstellen der Standardmultifunktionsleiste

Wenn Sie die benutzerdefinierte Multifunktionsleiste nicht mehr verwenden und die Standardmultifunktionsleiste wiederherstellen möchten, führen Sie eines der folgenden Verfahren aus, je nachdem, ob die benutzerdefinierte Multifunktionsleiste von der gesamten Anwendung oder von einem bestimmten Formular oder Bericht verwendet wird.

Wiederherstellen der Standardmultifunktionsleiste auf Anwendungsebene

  1. Klicken Sie auf die Schaltfläche Microsoft Office Abbildung der Schaltfläche, und klicken Sie anschließend auf Access-Optionen.
  1. Klicken Sie auf Aktuelle Datenbank, und löschen Sie dann unter Multifunktionsleisten- und Symbolleistenoptionen den Inhalt im Feld Name der Multifunktionsleiste.
  2. Schließen Sie die Datenbank, und öffnen Sie sie erneut.

Access zeigt die Standardregisterkarten der Multifunktionsleiste an. Der XML-Code für die Multifunktionsleiste bleibt in der Tabelle USysRibbons, bis er von Ihnen gelöscht wird. Wenn Sie die benutzerdefinierte Multifunktionsleiste wiederherstellen möchten, müssen Sie die Option Name der Multifunktionsleiste wieder auf den vorherigen Wert festlegen.

Wiederherstellen der Standardmultifunktionsleiste für ein Formular oder einen Bericht

  1. Öffnen Sie das Formular oder den Bericht in der Entwurfsansicht.
  2. Wenn das Eigenschaftenblatt nicht bereits angezeigt wird, drücken Sie F4, um es anzuzeigen.
  3. Vergewissern Sie sich im oberen Bereich des Eigenschaftenblatts unter Auswahltyp, dass in der Liste der Objekttyp (Formular oder Bericht) ausgewählt ist.
  4. Löschen Sie auf der Registerkarte Andere des Eigenschaftenblatts den Inhalt des Eigenschaftenfelds Name der Multifunktionsleiste.
  5. Speichern, schließen und öffnen Sie das Formular oder den Bericht erneut.

Der XML-Code für die Multifunktionsleiste bleibt in der Tabelle USysRibbons, bis er von Ihnen gelöscht wird. Wenn Sie die benutzerdefinierte Multifunktionsleiste wiederherstellen möchten, müssen Sie die Eigenschaft Name der Multifunktionsleiste wieder auf den vorherigen Wert festlegen.

Seitenanfang Seitenanfang

Informationen zum XML-Beispiel

Es folgen das XML-Beispiel, das bereits früher in diesem Artikel verwendet wurde, und eine Abbildung mit der erstellten, benutzerdefinierten Multifunktionsleiste.

<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 XML-Zeile das Attribut startFromScratch auf Falsch fest. Durch das Festlegen des Werts auf „Falsch“ wird gewährleistet, dass Access alle vorhandenen Registerkarten intakt lässt und neue Registerkarten rechts von den vorhandenen hinzufügt. Wird dieses Attribut auf Wahr festgelegt, werden alle vorhandenen Registerkarten entfernt und nur diejenigen angezeigt, die Sie in Ihrem XML-Code erstellt haben. Selbst dann, wenn das Attribut startFromScratch auf Falsch festgelegt ist, können Sie noch einzelne Registerkarten ausblenden. Dies wird in der vierten XML-Zeile vorgeführt, die die integrierte Registerkarte Create (Erstellen) ausblendet. Die restlichen Zeilen erstellen eine benutzerdefinierte Registerkarte und eine benutzerdefinierte Gruppe und fügen mit der folgenden XML-Zeile den integrierten Befehl Paste (Einfügen) der Gruppe hinzu.

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

Hinzufügen von zusätzlichen Gruppen oder Steuerelementen zur benutzerdefinierten Multifunktionsleiste    Sie können der Multifunktionsleiste mehrere Gruppen und Steuerelemente hinzufügen. Hierzu fügen Sie analoge XML-Zeilen hinzu und ersetzen verschiedene Werte für idMso und label (Beschriftungen). Zum Erstellen eines Steuerelements, das das aktuell ausgewählte Objekt nach Excel exportiert, verwenden Sie den folgenden XML-Code.

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

Wenn Sie das Steuerelement derselben Gruppe wie den Befehl Paste (Einfügen) hinzufügen möchten, fügen Sie die neue XML-Zeile unmittelbar vor oder nach der Zeile ein, die den Befehl Paste (Einfügen) erstellt. Zum Erstellen einer neuen Gruppe können Sie den XML-Code, mit dem oben die Gruppe Benutzerdefinierte Gruppe (Eine benutzerdefinierte Gruppe) erstellt wird, kopieren, einfügen und ändern. Das folgende Beispiel veranschaulicht den XML-Code, der der benutzerdefinierten Gruppe die zwei Steuerelemente 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>

Dieser XML-Code fügt Benutzerdefinierte Registerkarte (Einer benutzerdefinierten Registerkarte) eine andere Gruppe hinzu. Wie die folgende Abbildung zeigt, enthält die neue Gruppe zwei Steuerelemente: ein Steuerelement initiiert einen Importvorgang aus Excel, und das andere Steuerelement initiiert einen Exportvorgang nach Excel.

Benutzerdefinierte Registerkarte der Multifunktionsleiste mit zwei Gruppen

 Hinweis   In einer benutzerdefinierten Multifunktionsleiste müssen die Werte für die group id (Gruppen-ID) und tab id (Registerkartenkennung) eindeutig sein.

Abrufen des idMso-Werts eines Befehls    Wenn Sie den idMso-Wert eines integrierten Befehls erfahren möchten, gehen Sie wie folgt vor:

  1. Klicken Sie auf die Schaltfläche Microsoft Office Abbildung der Schaltfläche, und klicken Sie anschließend auf Access-Optionen.
  1. Klicken Sie auf Anpassen.
  2. Positionieren Sie den Zeiger über dem Element, zu dem Sie Informationen benötigen. Access zeigt den idMso-Wert in einer QuickInfo in Klammern an.

Hinzufügen eines Befehls zum Ausführen eines Access-Makros    Sie können die benutzerdefinierte Multifunktionsleiste noch flexibler gestalten, indem Sie Befehle ausführen, die Access-Makros ausführen. Angenommen, Sie haben z. B. ein Makro mit dem Namen MyMacro (MeinMakro) erstellt. Zum Hinzufügen eines Befehls zur Multifunktionsleiste, der das Makro ausführt, fügen Sie dem XML-Code folgende Zeile hinzu.

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

Wenn Sie das Steuerelement derselben Gruppe wie den Befehl Paste (Einfügen) im vorherigen Beispiel hinzufügen möchten, fügen Sie die neue XML-Zeile unmittelbar vor oder nach der Zeile ein, die den Befehl Paste (Einfügen) erstellt. Das folgende Beispiel veranschaulicht 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>

Weitere Informationen zum Erstellen von Makros finden Sie unter den Verknüpfungen im Abschnitt Siehe auch.

Seitenanfang Seitenanfang

 
 
Zutreffend für:
Access 2007