Übersicht über das Office Fluent-Menüband+

Hinweis

Die Verwendung von CommandBars in einigen Microsoft Office-Anwendungen wurde durch die neue Menübandkomponente der Office Fluent-Benutzeroberfläche ersetzt.

Das Menüband von Office Fluent ersetzt das nun überholte System aus verschiedenen Ebenen von Menüs, Symbolleisten und Aufgabenbereichen früherer Versionen von Office. Das Menüband bietet ein einfacheres Benutzeroberflächensystem, das effizienter und besser zugänglich ist. Das Menüband verfügt über verbesserte Kontextmenüs, Quickinfos, eine Minisymbolleiste und Tastenkombinationen, um die Effizienz und Produktivität des Benutzers zu optimieren.

Außerdem können Sie die Menübanderweiterbarkeit (oder RibbonX) nutzen, um die Benutzerfreundlichkeit zu verbessern. Mit der Extensible Markup Language (XML) und einer von mehreren konventionellen Programmiersprachen bearbeiten Sie die Komponenten des Menübands. Da es sich bei XML um Nur-Text handelt, können Sie in jedem beliebigen Text-Editor oder in Ihrem bevorzugten XML-Editor Anpassungsdateien erstellen. Die Anpassungsdateien können mit einem Minimum an Anpassungen wiederverwendet werden, da jede Anwendung das gleiche Programmiermodell verwendet. Sie können beispielsweise die Anpassungsdateien wiederverwenden, die Sie in Word, Excel, Access oder PowerPoint erstellen.

Durch die Verwendung von XML-Markupdateien zum Anpassen des Menübands wird die Notwendigkeit für komplexe Add-Ins basierend auf dem CommandBars-Objektmodell deutlich reduziert. Dennoch können in früheren Versionen von Office erstellte Add-Ins im Menüband mit geringfügigen oder keinen Änderungen weiterhin verwendet werden. Sie können Anpassungen auf Anwendungsebene für das Menüband in Word, Excel oder PowerPoint erstellen, indem Sie eine der folgenden Aktionen ausführen:

  • Verwenden Sie COM-Add-Ins in verwaltetem oder nicht verwaltetem Code.
  • Verwenden Sie anwendungsspezifische Add-Ins, z. B. PPAM- und XLAM-Dateien.
  • Verwenden Sie Vorlagen (DOTM-Dateien) in Word.

In einem typischen Szenario enthält Code im COM-Add-In Prozeduren, die XML-Markup aus einer externen Anpassungsdatei oder aus im Code selbst enthaltenem XML zurückgeben. Beim Starten der Anwendung wird das Add-In geladen und führt den Code aus, der das XML-Markup zurückgibt. Office überprüft das XML-Markup anhand eines XSD-Schemas, lädt es dann in den Arbeitsspeicher und wendet es auf das Menüband an, bevor das Menüband angezeigt wird. Menüelemente und Steuerelemente verwenden Rückrufprozeduren zum Ausführen von Code im Add-In.

Anpassungen auf Dokumentebene verwenden dasselbe XML-Markup und eine Open XML-Formatdatei mit einer der folgenden Dateierweiterungen: DOCX, DOCM, XLSX, XLSM, PPTX oder PPTM. In diesem Szenario erstellen Sie eine Anpassungsdatei, die das XML-Markup enthält, und speichern sie in einem Ordner. Anschließend können Sie die Komponenten im Open XML-Formate-Container ändern, sodass sie auf die Anpassungsdatei verweisen. Wenn Sie das Dokument in der Office-Anwendung öffnen, wird die Anpassungsdatei in den Arbeitsspeicher geladen und auf das Menüband angewendet. Mit den Befehlen und Steuerelementen wird dann im Dokument enthaltener Code aufgerufen, um die entsprechende Funktionalität bereitzustellen.

Vorhandene Lösungen

In Office-Versionen vor Office 2007 haben Entwickler das CommandBars-Objektmodell verwendet, um den Visual Basic-Code zu erstellen, der die Benutzeroberfläche geändert hat. In Office funktioniert dieser Legacycode in den meisten Fällen ohne Änderungen. Änderungen, die an Symbolleisten in Office 2003 vorgenommen wurden, werden jetzt jedoch auf einer Registerkarte Add-Ins in Office angezeigt.

Die Art der angezeigten Anpassung hängt jedoch vom ursprünglichen Entwurf des Add-Ins ab. Beispielsweise erstellt Office die Gruppe Menübefehle mit Elementen, die Sie der vorherigen Menüstruktur hinzugefügt haben (Menüs Datei, Einfügen, Extras usw.). Außerdem erstellt es die Gruppe Symbolleistenbefehle mit Elementen, die Sie vorherigen integrierten Symbolleisten hinzugefügt haben (z. B. die Symbolleisten Standard, Format und Grafik). Darüber hinaus werden benutzerdefinierte Symbolleisten, die von einem Add-In oder Dokument hinzugefügt wurden, in der Gruppe Benutzerdefinierte Symbolleisten auf der Registerkarte Add-Ins angezeigt.

Rückrufprozeduren fügen Funktionalität zum Menüband hinzu

Mit der Menübanderweiterbarkeit geben Sie Rückrufe an, um Eigenschaften zu aktualisieren und Aktionen über Die Benutzeroberfläche zur Laufzeit auszuführen. Betrachten Sie beispielsweise die onAction-Rückrufmethode für eine Schaltfläche im folgenden RibbonX-Markup: <button id="myButton" onAction="MyButtonOnAction" />

Dieses Markup weist Office an, die MyButtonOnAction-Funktion aufzurufen, wenn die Schaltfläche ausgewählt ist. Die MyButtonOnAction-Funktion verfügt über eine bestimmte Signatur, die von Ihrer Wahl der Sprachen abhängt. Es folgt ein Beispiel in Visual C#.

public void MyButtonOnAction (IRibbonControl control) 
   { 
      if (control.Id=="myButton") 
      { 
         System.Windows.Forms.MessageBox.Show("Button clicked!"); 
      } 
   } 

Anpassen des Menübands mit COM-Add-Ins

Die Anpassung auf Anwendungsebene ergibt ein geändertes Menüband, das in der Anwendung unabhängig vom geöffneten Dokument angezeigt wird. COM-Add-Ins erstellen Sie in erster Linie, um diese Änderungen vorzunehmen. Führen Sie die folgenden Schritte aus, um das Menüband mithilfe von COM-Add-Ins anzupassen:

  1. Erstellen Sie ein COM-Add-In-Projekt. Das Add-In, das Sie erstellen, muss die Extensibility.IDTExtensibility2-Schnittstelle , die alle COM-Add-Ins implementieren, sowie die IRibbonExtensibility-Schnittstelle implementieren, die sich im Microsoft.Office.Core-Namespace befindet.
  2. Erstellen Sie das Add-In und das Setupprojekt, und installieren Sie dann das Projekt.
  3. Starten Sie die Office-Anwendung. Wenn das Add-In geladen wird, löst es das IDTExtensibility2::OnConnection-Ereignis aus, das das Add-In wie in früheren Versionen von Office initialisiert.
  4. Anschließend wird die QueryInterface-Methode aufgerufen, die ermittelt, ob die IRibbonExtensibility-Benutzeroberfläche implementiert wird.
  5. Ist dies der Fall, wird die IRibbonExtensibility::GetCustomUI-Methode aufgerufen, die das XML-Markup aus der XML-Anpassungsdatei oder aus dem in die Prozedur eingebetteten XML-Markup lädt. Anschließend werden die Anpassungen in die Anwendung geladen.
  6. Die angepasste Benutzeroberfläche ist nun für den Benutzer bereit.

Anpassen des Menübands mit Office Open XML-Formatdateien

Gehen Sie folgendermaßen vor, um die Benutzeroberfläche mithilfe des XML-Markus anzupassen:

  1. Erstellen Sie die Anpassungsdatei in einem beliebigen Text-Editor. Fügen Sie das XML-Markup hinzu, das dem Menüband neue Komponenten hinzufügt, vorhandene Komponenten ändert oder Komponenten ausblendet. Speichern Sie die Datei unter dem Namen customUI.xml.

  2. Erstellen Sie auf dem Desktop einen Ordner mit dem Namen customUI, und kopieren Sie die Anpassungsdatei in den Ordner.

  3. Überprüfen Sie das XML-Markup mit dem benutzerdefinierten Benutzeroberflächenschema.

    Hinweis

    Dieser Schritt ist optional.

  4. Erstellen Sie ein Dokument in der Office-Anwendung, und speichern Sie es dann als Open XML Formats-Datei mit einer der folgenden Erweiterungen: .docx, .docm, .xlsx, .xlsm, .pptm oder .pptx. Aus Sicherheitsgründen haben Dateien, die Makros enthalten, ein m-Suffix und können Prozeduren enthalten, die von RibbonX-Befehlen und -Steuerelementen aufgerufen werden.

  5. Fügen Sie dem Dateinamen die Erweiterung ZIP hinzu, und öffnen Sie dann die Datei.

  6. Fügen Sie die Anpassungsdatei dem Container hinzu, indem Sie den Ordner auf die Datei ziehen.

  7. Extrahieren Sie die RELS-Datei , die sich in der .zip-Datei befindet, auf Ihren Desktop. Ein Ordner _rels, der die RELS-Datei enthält, wird auf den Desktop kopiert.

  8. Öffnen Sie die RELS-Datei , fügen Sie eine Zeile hinzu, die eine Beziehung zwischen der Dokumentdatei und der Anpassungsdatei erstellt, und speichern Sie die Datei dann.

  9. Fügen Sie den _rels Ordner wieder zum Container hinzu, und überschreiben Sie die vorhandene Datei.

  10. Benennen Sie die Datei in den ursprünglichen Namen um, indem Sie die Erweiterung ZIP entfernen. Wenn Sie die Office-Datei öffnen, wird das Menüband mit Ihrer Anpassung angezeigt.

Allgemeines Format von XML-Markupdateien

Verwenden Sie XML-Markup, um das Menüband anzupassen. Das folgende Beispiel zeigt das allgemeine Format einer XML-Markupdatei, die Sie zum Anpassen des Menübands in Word verwenden können.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
  <ribbon> 
    <tabs> 
      <tab idMso="TabHome"> 
        <group idMso="GroupFont" visible="false" /> 
      </tab> 
      <tab id="CustomTab" label="My Tab"> 
        <group id="SampleGroup" label="Sample Group"> 
          <toggleButton id="ToggleButton1" size="large" label="Large Toggle Button" getPressed="MyToggleMacro"  /> 
          <checkBox id="CheckBox1" label="A CheckBox" screentip="This is a check box" onAction="MyCheckboxMacro" /> 
          <editBox id="EditBox1" getText="MyTextMacro" label="My EditBox" onChange="MyEditBoxMacro"/> 
          <comboBox id="Combo1" label="My ComboBox" onChange="MyComboBoxMacro"> 
            <item id="Zip1" label="33455" /> 
            <item id="Zip2" label="81611" /> 
            <item id="Zip3" label="31561" /> 
          </comboBox> 
          <advanced> 
            <button id="Launcher1" screentip="My Launcher" onAction="MyLauncherMacro" /> 
          </advanced> 
        </group> 
        <group id="MyGroup" label="My Group" > 
          <button id="Button" label="My Large Button" size="large" onAction="MyButtonMacro" /> 
          <button id="Button2" label="My Normal Button" size="normal" onAction="MyOtherButtonMacro" /> 
        </group > 
      </tab> 
    </tabs> 
  </ribbon> 
</customUI> 

In diesem Beispiel werden die folgenden Änderungen am Menüband in Word in der folgenden Reihenfolge vorgenommen:

  1. Es deklariert den Standardnamespace und einen benutzerdefinierten Namespace.

  2. Es blendet die integrierte Gruppe GroupFont aus, die sich auf der integrierten Registerkarte Home befindet.

  3. Es fügt die neue Registerkarte CustomTab rechts von der letzten integrierten Registerkarte hinzu.

    Hinweis

    Verwenden Sie das id= identifier-Attribut, um ein benutzerdefiniertes Element zu erstellen, wie z. B. eine benutzerdefinierte Registerkarte. Verwenden Sie das idMso= identifier-Attribut, um auf ein integriertes Element zu verweisen, wie z. B. die Registerkarte TabHome.

  4. Es fügt die Registerkarte My Tab der neuen Gruppe SampleGroup hinzu.

  5. Fügt eine große ToggleButton1-Schaltfläche zu "Meine Gruppe " hinzu und gibt einen onAction-Rückruf zusammen mit einem GetPressed-Rückruf an.

  6. Fügt meiner Gruppe ein Kontrollkästchen CheckBox1 mit einer benutzerdefinierten QuickInfo hinzu und gibt einen onAction-Rückruf an.

  7. Fügt meine Gruppe ein EditBox1-Bearbeitungsfeld hinzu und gibt einen onChange-Rückruf an.

  8. Fügt meine Gruppe ein Kombinationsfeld Combo1 mit drei Elementen hinzu. Das Kombinationsfeld gibt einen onChange-Rückruf an, der den Text aus den einzelnen Elementen verwendet.

  9. Fügt "Meine Gruppe" ein Launcher1-Startprogramm mit dem onAction-Rückrufsatz hinzu. Ein Startprogramm kann auch ein benutzerdefiniertes Dialogfeld anzeigen, um dem Benutzer weitere Optionen anzubieten.

  10. Es fügt die neue Gruppe MyGroup der benutzerdefinierten Registerkarte hinzu.

  11. Fügt MyGroup eine große Schaltfläche Button1 hinzu und gibt einen onAction-Rückruf an.

  12. Fügt MyGroup eine Schaltfläche "Button1" in normaler Größe hinzu und gibt einen onAction-Rückruf an.

Arbeiten mit Legacy-Befehlsleisten-Add-Ins

Beim Erstellen von COM-Add-Ins benötigen Sie normalerweise eine Möglichkeit, damit Benutzer mit dem Add-In interagieren können. In früheren Versionen von Office fügten Sie dazu der Anwendung mithilfe des CommandBars-Objektmodells ein Menüelement oder eine Symbolleistenschaltfläche hinzu. In dieser Version von Office können benutzerdefinierte Anwendungen im Menüband in den meisten Fällen unverändert weiterhin verwendet werden. Änderungen, die Sie mit dem CommandBars-Objektmodell oder einer anderen Technologie vorgenommen haben, die die Menüs oder Symbolleisten wie WordBasic oder XML geändert hat, werden jedoch auf einer separaten Registerkarte Add-Ins angezeigt. Dies erleichtert Benutzern das Auffinden der Steuerelemente.

Dynamisches Aktualisieren des Menübands

Rückrufe, die Eigenschaften eines Steuerelements zurückgeben, werden normalerweise ein Mal aufgerufen, es sei denn Sie geben an, dass der Aufruf wiederholt werden soll. Sie können den Rückruf erneut abfragen, indem Sie den onLoad-Rückruf im CustomUI-Element implementieren. Dieser Rückruf wird einmal aufgerufen, wenn die RibbonX-Markupdatei erfolgreich geladen wurde, und übergibt den Code dann an ein IRibbonUI-Objekt .

Im folgenden Codebeispiel wird das IRibbonUI-Objekt abgerufen, damit Sie Ihre Steuerelemente zur Laufzeit aktualisieren können.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="ribbonLoaded">

Schreiben Sie in C# einen Rückruf in Ihrer Connect-Klasse .

IRibbonUI myRibbon; 
 
     public void ribbonLoaded(IRibbonUI ribbon) { 
         myRibbon = ribbon; 
     } 

Das Menüband verleiht Benutzern Flexibilität bei der Arbeit mit Office-Anwendungen. Sie verwenden einfaches, textbasiertes, deklaratives XML-Markup, um das Menüband zu erstellen und anzupassen. Mit ein paar XML-Zeilen können Sie genau die passende Benutzeroberfläche für den Benutzer erstellen. Das XML-Markup ist in einer einzigen Datei enthalten, weshalb das Anpassen der Benutzeroberfläche bei geänderten Anforderungen wesentlich einfacher ist. Sie können auch die Benutzerproduktivität verbessern, indem Sie die Befehle so anordnen, dass sie von den Benutzern leicht aufzufinden sind. Schließlich sorgt das Menüband für Konsistenz über die verschiedenen Anwendungen hinweg, wodurch sich die Einarbeitungszeit der Benutzer für die verschiedenen Anwendungen reduziert.

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.