Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Registerkarte mit Multifunktionsleisten-XML

In dieser exemplarischen Vorgehensweise wird das Erstellen einer benutzerdefinierten Registerkarte für das Menüband mithilfe des Elements Menüband (XML) beschrieben.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokumentebene für die folgenden Anwendungen: Excel 2007 und Excel 2010, InfoPath 2010, Outlook 2007 und Outlook 2010, PowerPoint 2007 und PowerPoint 2010, Project 2010, Visio 2010, Word 2007 und Word 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Hinzufügen von Schaltflächen zur Registerkarte Add-Ins Die Registerkarte Add-Ins ist die standardmäßige in der Menüband-XML-Datei definierte Registerkarte.

  • Automatisieren von Microsoft Office Word mithilfe der Schaltflächen auf der Registerkarte Add-Ins

Tipp

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Die von Ihnen verwendete Visual Studio-Edition und die Einstellungen legen diese Elemente fest. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

-

Eine Version von Visual Studio 2010, die die Microsoft Office-Entwicklungstools einschließt. Weitere Informationen finden Sie unter [Konfigurieren eines Computers zum Entwickeln von Office-Lösungen](bb398242\(v=vs.100\).md).
  • Microsoft Office Word 2007 oder Word 2010. 

Link zu Video Eine entsprechende Videodemo finden Sie im Thema zur Verwendung des Menüband-Designers zum Anpassen des Menübands in Excel (möglicherweise in englischer Sprache).

Erstellen des Projekts

Zunächst muss ein Add-In-Projekt für Word erstellt werden. Später wird die Registerkarte Add-Ins dieses Dokuments angepasst.

So erstellen Sie ein neues Projekt

  • Erstellen Sie ein Word-Add-In-Projekt mit dem Namen "MyRibbonAddIn".

    Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.

    Visual Studio öffnet die Codedatei ThisAddIn.cs oder ThisAddIn.vb und fügt dem Projektmappen-Explorer das MyRibbonAddIn-Projekt hinzu.

Erstellen der Registerkarte "Add-Ins"

Fügen Sie zum Erstellen der Registerkarte Add-Ins ein Element für die Menüband (XML) hinzu. Im weiteren Verlauf dieser exemplarischen Vorgehensweise fügen Sie dieser Registerkarte einige Schaltflächen hinzu.

So erstellen Sie die Registerkarte "Add-Ins"

  1. Klicken Sie im Menü Projekt auf Neues Element hinzufügen.

  2. Klicken Sie im Dialogfeld Neues Element hinzufügen auf Menüband (XML).

  3. Ändern Sie den Namen des neuen Menübands in MyRibbon, und klicken Sie auf Hinzufügen.

    Im Designer wird die Datei MyRibbon.cs oder MyRibbon.vb geöffnet. Außerdem wird dem Projekt eine XML-Datei mit dem Namen MyRibbon.xml hinzugefügt.

  4. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisAddin.cs oder ThisAddin.vb, und klicken Sie anschließend auf Code anzeigen.

  5. Fügen Sie der ThisAddin-Klasse den folgenden Code hinzu: Mit diesem Code wird die CreateRibbonExtensibilityObject-Methode überschrieben und der Office-Anwendung die Menüband-XML-Klasse 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();
    }
    
  6. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt MyRibbonAddIn, und klicken Sie anschließend auf Erstellen. Überprüfen Sie, ob sich das Projekt fehlerfrei erstellen lässt.

Hinzufügen von Schaltflächen zur Registerkarte "Add-Ins"

Mit diesem Add-In soll es Benutzern ermöglicht werden, dem aktiven Dokument Text mit Codebausteinen und eine spezielle Tabelle hinzuzufügen. Um die Benutzeroberfläche bereitzustellen, fügen Sie der Registerkarte Add-Ins zwei Schaltflächen hinzu, indem Sie die Menüband-XML-Datei ändern. Im weiteren Verlauf dieser exemplarischen Vorgehensweise definieren Sie Rückrufmethoden für die Schaltflächen. Weitere Informationen über die Menüband-XML-Datei finden Sie unter Multifunktionsleisten-XML.

So fügen Sie der Registerkarte "Add-Ins" Schaltflächen hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf MyRibbon.xml, und klicken Sie anschließend auf Öffnen.

  2. Ersetzen Sie den Inhalt des tab-Elements durch folgenden XML-Code. Mit diesem XML-Code wird die Bezeichnung der Standardsteuerelementgruppe zu Content geändert, und es werden zwei neue Schaltflächen mit den Bezeichnungen Insert Text und Insert Table hinzugefügt.

    <tab idMso="TabAddIns">
        <group id="ContentGroup" label="Content">
            <button id="textButton" label="Insert Text"
                 screentip="Text" onAction="OnTextButton"
                 supertip="Inserts text at the cursor location."/>
            <button id="tableButton" label="Insert Table"
                 screentip="Table" onAction="OnTableButton"
                 supertip="Inserts a table at the cursor location."/>
        </group>
    </tab>
    

Automatisieren des Dokuments mithilfe der Schaltflächen

Sie müssen onAction-Rückrufmethoden für die Schaltflächen Insert Text und Insert Table hinzufügen, damit Aktionen ausgeführt werden, wenn der Benutzer auf sie klickt. Weitere Informationen über Rückrufmethoden für Menübandsteuerelemente finden Sie unter Multifunktionsleisten-XML.

So fügen Sie Rückrufmethoden für die Schaltflächen hinzu

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf MyRibbon.cs oder MyRibbon.vb, und klicken Sie auf Öffnen.

  2. Fügen Sie am Anfang der Datei MyRibbon.cs oder MyRibbon.vb folgenden Code hinzu. Mit diesem Code wird ein Alias für den Microsoft.Office.Interop.Word-Namespace erstellt.

    Imports Word = Microsoft.Office.Interop.Word
    
    using Word = Microsoft.Office.Interop.Word;
    
  3. Fügen Sie der MyRibbon-Klasse die folgende Methode hinzu. Dies ist eine Rückrufmethode für die Schaltfläche Insert Text, mit der dem aktiven Dokument an der aktuellen Cursorposition eine Zeichenfolge hinzugefügt wird.

    Public Sub OnTextButton(ByVal control As Office.IRibbonControl)
        Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range
        currentRange.Text = "This text was added by the Ribbon."
    End Sub
    
    public void OnTextButton(Office.IRibbonControl control)
    {
        Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        currentRange.Text = "This text was added by the Ribbon.";
    }
    
  4. Fügen Sie der MyRibbon-Klasse die folgende Methode hinzu. Dies ist eine Rückrufmethode für die Schaltfläche Insert Table, mit der dem aktiven Dokument an der aktuellen Cursorposition eine Tabelle hinzugefügt wird.

    Public Sub OnTableButton(ByVal control As Office.IRibbonControl)
        Dim missing As Object = System.Type.Missing
    
        Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range
        Dim newTable As Word.Table = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add( _
                   currentRange, 3, 4)
    
        ' Get all of the borders except for the diagonal borders.
        Dim borders() As Word.Border = New Word.Border(6) {}
        borders(0) = newTable.Borders(Word.WdBorderType.wdBorderLeft)
        borders(1) = newTable.Borders(Word.WdBorderType.wdBorderRight)
        borders(2) = newTable.Borders(Word.WdBorderType.wdBorderTop)
        borders(3) = newTable.Borders(Word.WdBorderType.wdBorderBottom)
        borders(4) = newTable.Borders(Word.WdBorderType.wdBorderHorizontal)
        borders(5) = newTable.Borders(Word.WdBorderType.wdBorderVertical)
    
        ' Format each of the borders.
        For Each border As Word.Border In borders
            border.LineStyle = Word.WdLineStyle.wdLineStyleSingle
            border.Color = Word.WdColor.wdColorBlue
        Next
    End Sub
    
    public void OnTableButton(Office.IRibbonControl control)
    {
        object missing = System.Type.Missing;
        Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        Word.Table newTable = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add(
        currentRange, 3, 4, ref missing, ref missing);
    
        // Get all of the borders except for the diagonal borders.
        Word.Border[] borders = new Word.Border[6];
        borders[0] = newTable.Borders[Word.WdBorderType.wdBorderLeft];
        borders[1] = newTable.Borders[Word.WdBorderType.wdBorderRight];
        borders[2] = newTable.Borders[Word.WdBorderType.wdBorderTop];
        borders[3] = newTable.Borders[Word.WdBorderType.wdBorderBottom];
        borders[4] = newTable.Borders[Word.WdBorderType.wdBorderHorizontal];
        borders[5] = newTable.Borders[Word.WdBorderType.wdBorderVertical];
    
        // Format each of the borders.
        foreach (Word.Border border in borders)
        {
            border.LineStyle = Word.WdLineStyle.wdLineStyleSingle;
            border.Color = Word.WdColor.wdColorBlue;
        }
    }
    

Testen des Add-Ins

Wenn Sie das Projekt ausführen, wird Word geöffnet, und auf dem Menüband wird die Registerkarte Add-Ins angezeigt. Klicken Sie auf der Registerkarte Add-Ins auf die Schaltflächen Insert Text und Insert Table, um den Code zu testen.

So testen Sie das Add-In

  1. Drücken Sie F5, um das Projekt auszuführen.

  2. Vergewissern Sie sich, dass die Registerkarte Add-Ins auf dem Menüband sichtbar ist.

  3. Klicken Sie auf die Registerkarte Add-Ins.

  4. Vergewissern Sie sich, dass die Gruppe Content auf dem Menüband sichtbar ist.

  5. Klicken Sie in der Gruppe Content auf die Schaltfläche Insert Text.

    Dem Dokument wird an der aktuellen Cursorposition eine Zeichenfolge hinzugefügt.

  6. Klicken Sie in der Gruppe Content auf die Schaltfläche Insert Table.

    Dem Dokument wird an der aktuellen Cursorposition eine Tabelle hinzugefügt.

Nächste Schritte

Weitere Informationen über das Anpassen der Office-Benutzeroberfläche finden Sie in diesen Themen:

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen einer benutzerdefinierten Registerkarte mit dem Multifunktionsleisten-Designer

Konzepte

Multifunktionsleisten-XML

Weitere Ressourcen

Übersicht über die Multifunktionsleiste