Freigeben über


Multifunktionsleisten-XML

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • Excel 2007

  • Word 2007

  • Outlook 2007

  • PowerPoint 2007

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Mit dem (XML-)Element auf der Multifunktionsleiste kann eine Multifunktionshilfe mithilfe von XML angepasst werden. Verwenden Sie das (XML-)Element auf der Multifunktionsleiste, falls Sie die Multifunktionsleiste so anpassen möchten, dass sie nicht vom Element Multifunktionsleiste (Visual Designer) unterstützt wird. Einen Vergleich der mit jedem Element ausführbaren Aktionen finden Sie unter Übersicht über die Multifunktionsleiste.

Hinzufügen eines (XML-)Elements auf der Multifunktionsleiste zu einem Projekt

Sie können im Dialogfeld Neues Element hinzufügen einem beliebigen Visual Studio Tools for Office-Projekt ein Element von Multifunktionsleiste (XML) hinzufügen. Visual Studio Tools for Office fügt dem Projekt automatisch die folgenden Dateien hinzu:

  • Eine Multifunktionsleisten-XML-Datei. Mit dieser Datei wird die Benutzeroberfläche der Multifunktionsleiste definiert. Sie können mit der Datei Benutzeroberflächenelemente, z. B. Registerkarten, Gruppen und Steuerelemente, hinzufügen. Details finden Sie im weiteren Verlauf dieses Themas unter Referenz für die Multifunktionsleisten-XML-Datei.

  • Eine Multifunktionsleisten-Codedatei. Diese Datei enthält die Multifunktionsleistenklasse. Diese Klasse besitzt den Namen, den Sie im Dialogfeld Neues Element hinzufügen für das Element Multifunktionsleiste (XML) angegeben haben. In Microsoft Office-Anwendungen wird die benutzerdefinierte Multifunktionsleiste mithilfe einer Instanz dieser Klasse geladen. Details finden Sie im weiteren Verlauf dieses Themas unter Referenz für die Multifunktionsleistenklasse.

Mit diesen Dateien wird der Registerkarte Add-Ins auf der Multifunktionsleiste standardmäßig eine benutzerdefinierte Gruppe hinzugefügt.

Anzeigen der benutzerdefinierten Multifunktionsleiste in einer Microsoft Office-Anwendung

Nach dem Hinzufügen eines Elements von Multifunktionsleiste (XML) zum Projekt muss der ThisAddin-Klasse, der ThisWorkbook-Klasse oder der ThisDocument-Klasse Code hinzugefügt werden, mit dem die CreateRibbonExtensibilityObject-Methode überschrieben und der Office-Anwendung die Multifunktionsleisten-XML-Klasse zurückgegeben wird.

Im folgenden Codebeispiel wird die CreateRibbonExtensibilityObject-Methode überschrieben und eine Multifunktionsleisten-XML-Klasse mit der Bezeichnung Ribbon1 zurückgegeben.

Protected Overrides Function CreateRibbonExtensibilityObject() As  _
Microsoft.Office.Core.IRibbonExtensibility
    Return New MyRibbon()
End Function
protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
{
    return new MyRibbon();
}

Definieren des Verhaltens der benutzerdefinierten Multifunktionsleiste

Das Erstellen von Rückrufmethoden ermöglicht es, auf Benutzeraktionen, z. B. das Klicken auf eine Schaltfläche auf der Multifunktionsleiste, zu reagieren. Rückrufmethoden ähneln Ereignissen in Windows Forms-Steuerelementen, werden jedoch durch ein Attribut im XML-Code des Benutzeroberflächenelements angegeben. Sie schreiben Methoden in der Multifunktionsleistenklasse, und ein Steuerelement ruft die Methode auf, deren Name dem Attributwert entspricht. Sie können beispielsweise eine Rückrufmethode erstellen, die aufgerufen wird, wenn ein Benutzer auf eine Schaltfläche auf der Multifunktionsleiste klickt. Zum Erstellen einer Rückrufmethode sind zwei Schritte erforderlich:

  • Weisen Sie einem Steuerelement in der Multifunktionsleisten-XML-Datei ein Attribut zu, mit dem eine Rückrufmethode im Code angegeben wird.

  • Definieren Sie die Rückrufmethode in der Multifunktionsleistenklasse.

Hinweis:

Für Outlook 2007 ist ein zusätzlicher Schritt erforderlich. Weitere Informationen finden Sie unter Anpassen einer Multifunktionsleiste in Outlook.

Eine exemplarische Vorgehensweise, in der das Automatisieren einer Anwendung über die Multifunktionsleiste veranschaulicht wird, finden Sie unter Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Registerkarte mit Multifunktionsleisten-XML.

Zuweisen von Rückrufmethoden zu Steuerelementen

Um einem Steuerelement in der Multifunktionsleisten-XML-Datei eine Rückrufmethode zuzuweisen, fügen Sie ein Attribut hinzu, das den Typ und den Namen der Rückrufmethode angibt. Beispielsweise wird mit dem folgenden Element eine Umschaltfläche definiert, die über die onAction-Rückrufmethode OnToggleButton1 verfügt.

<toggleButton id="toggleButton1" onAction="OnToggleButton1" />

onAction wird aufgerufen, wenn der Benutzer die einem bestimmten Steuerelement zugeordnete Hauptaufgabe ausführt. Beispielsweise wird die onAction-Rückrufmethode einer Umschaltfläche aufgerufen, wenn der Benutzer auf die Schaltfläche klickt.

Die Methode, die Sie im Attribut angeben, kann jeden beliebigen Namen aufweisen. Er muss jedoch dem Namen der Methode entsprechen, die Sie in der Multifunktionsleisten-Codedatei definieren.

Sie können Multifunktionsleisten-Steuerelementen viele unterschiedliche Typen von Rückrufmethoden zuweisen. Eine vollständige Liste der für jedes Steuerelement verfügbaren Rückrufmethoden finden Sie im technischen Artikel Anpassen der Benutzeroberfläche der Office (2007)-Multifunktionsleiste für Entwickler (Teil von 3 von 3).

Definieren von Rückrufmethoden

Definieren Sie die Rückrufmethoden der Multifunktionsleistenklasse in der Multifunktionsleisten-Codedatei. Für eine Rückrufmethode gelten mehrere Anforderungen:

  • Sie muss als public deklariert sein.

  • Ihr Name muss mit dem Namen einer Rückrufmethode übereinstimmen, die Sie in der Multifunktionsleisten-XML-Datei einem Steuerelement zugewiesen haben.

  • Ihre Signatur muss mit der Signatur eines Typs von Rückrufmethoden übereinstimmen, der für das zugeordnete Multifunktionsleisten-Steuerelement verfügbar ist.

Eine vollständige Liste der Rückrufmethodensignaturen für Multifunktionsleisten-Steuerelemente finden Sie im technischen Artikel Anpassen der Benutzeroberfläche der Office (2007)-Multifunktionsleiste für Entwickler (Teil von 3 von 3). Visual Studio Tools for Office bietet keine IntelliSense-Unterstützung für Rückrufmethoden, die in der Multifunktionsleisten-Codedatei erstellt werden. Wenn Sie eine Rückrufmethode erstellen, die mit keiner gültigen Signatur übereinstimmt, wird der Code zwar kompiliert, wenn der Benutzer jedoch auf das Steuerelement klickt, wird keine Aktion ausgeführt.

Alle Rückrufmethoden verfügen über einen Microsoft.Office.Core.IRibbonControl-Parameter, der das Steuerelement darstellt, von dem die Methode aufgerufen wurde. Mithilfe dieses Parameters können Sie dieselbe Rückrufmethode für mehrere Steuerelemente wiederverwenden. Im folgenden Codebeispiel wird eine onAction-Rückrufmethode veranschaulicht, die je nach Steuerelement, auf das der Benutzer klickt, unterschiedliche Aufgaben ausführt.

Public Sub OnActionCallback(ByVal control As Office.IRibbonControl, _
    ByVal isPressed As Boolean)

    If (control.Id = "checkBox1") Then
        MessageBox.Show("You clicked " + control.Id)
    Else
        MessageBox.Show("You clicked a different control.")
    End If

End Sub
public void OnActionCallback(Office.IRibbonControl control, bool isPressed)
{
    if (control.Id == "checkBox1")
    {
        MessageBox.Show("You clicked " + control.Id);
    }
    else
    {
        MessageBox.Show("You clicked a different control.");
    }
}

Referenz für die Multifunktionsleisten-XML-Datei

Sie können die benutzerdefinierte Multifunktionsleiste ändern, indem Sie der Multifunktionsleisten-XML-Datei Elemente und Attribute hinzufügen. Die Multifunktionsleisten-XML-Datei enthält standardmäßig folgenden XML-Code.

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="https://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad">
  <ribbon>
    <tabs>
      <tab idMso="TabAddIns">
        <group id="MyGroup"
               label="My Group">
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

In der folgenden Tabelle werden die Standardelemente in der Multifunktionsleisten-XML-Datei beschrieben.

Element

Beschreibung

customUI

Stellt die benutzerdefinierte Multifunktionsleiste im Add-In-Projekt dar.

ribbon

Stellt die Multifunktionsleiste dar.

tabs

Stellt einen Satz von Multifunktionsleisten-Registerkarten dar.

tab

Stellt eine einzelne Multifunktionsleisten-Registerkarte dar.

group

Stellt eine Gruppe von Steuerelementen auf der Multifunktionsleisten-Registerkarte dar.

Diese Elemente verfügen über Attribute, die Aussehen und Verhalten der benutzerdefinierten Multifunktionsleiste angeben. In der folgenden Tabelle werden die Standardattribute in der Multifunktionsleisten-XML-Datei beschrieben.

Attribut

Übergeordnetes Element

Beschreibung

onLoad

customUI

Gibt eine Methode an, die aufgerufen wird, wenn die Anwendung die Multifunktionsleiste lädt.

idMso

tab

Gibt eine integrierte Registerkarte an, die auf der Multifunktionsleiste angezeigt werden soll.

id

group

Bezeichnet die Gruppe.

label

group

Gibt den in der Gruppe angezeigten Text an.

Die Standardelemente und -attribute in der Multifunktionsleisten-XML-Datei sind eine kleine Teilmenge der verfügbaren Elemente und Attribute. Eine vollständige Liste der verfügbaren Elemente und Attribute finden Sie im technischen Artikel Anpassen der Benutzeroberfläche der Office (2007)-Multifunktionsleiste für Entwickler (Teil von 3 von 3).

Referenz für die Multifunktionsleistenklasse

Visual Studio Tools for Office generiert die Multifunktionsleistenklasse in der Multifunktionsleisten-Codedatei. Fügen Sie dieser Klasse die Rückrufmethoden für Steuerelemente auf der Multifunktionsleiste hinzu. Diese Klasse implementiert die Microsoft.Office.Core.IRibbonExtensibility-Schnittstelle.

In der folgenden Tabelle werden die Standardmethoden dieser Klasse beschrieben.

Methode

Beschreibung

GetCustomUI

Gibt den Inhalt der Multifunktionsleisten-XML-Datei zurück. Microsoft Office-Anwendungen rufen diese Methode auf, um eine XML-Zeichenfolge abzurufen, die die Benutzeroberfläche einer benutzerdefinierten Multifunktionsleiste definiert.

Hinweis:
GetCustomUI sollte nur implementiert werden, um den Inhalt der Multifunktionsleisten-XML-Datei zurückzugeben, und nicht zum Initialisieren des Add-Ins. Insbesondere sollten die Dialogfelder oder andere Fenster in der GetCustomUI-Implementierung nicht angezeigt werden. Dies könnte bei der benutzerdefinierten Multifunktionsleiste andernfalls zu nicht ordnungsgemäßem Verhalten führen. Wenn Sie Code ausführen müssen, der das Add-In initialisiert, fügen Sie den Code dem ThisAddIn_Startup-Ereignishandler hinzu.

OnLoad

Weist dem ribbon-Feld den Microsoft.Office.Core.IRibbonControl-Parameter zu. Microsoft Office-Anwendungen rufen diese Methode beim Laden der benutzerdefinierten Multifunktionsleiste auf. Mit diesem Feld können Sie die benutzerdefinierte Multifunktionsleiste dynamisch aktualisieren. Weitere Informationen finden Sie im technischen Artikel Anpassen der Benutzeroberfläche der Office (2007)-Multifunktionsleiste für Entwickler (Teil von 3 von 3).

GetResourceText

Wird von der GetCustomUI-Methode aufgerufen, um den Inhalt der Multifunktionsleisten-XML-Datei abzurufen.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Registerkarte mit Multifunktionsleisten-XML

Konzepte

Übersicht über die Multifunktionsleiste

Anpassung der Office-Benutzeroberfläche