Freigeben über


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

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.

In dieser exemplarischen Vorgehensweise wird das Erstellen einer benutzerdefinierten Registerkarte für die Multifunktionsleiste mithilfe des Multifunktionsleisten-Designers beschrieben. Mit dem Multifunktionsleisten-Designer können Steuerelemente auf der benutzerdefinierten Registerkarte hinzugefügt und positioniert werden.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Erstellen von Aktionsbereichen

  • Erstellen einer benutzerdefinierten Registerkarte

  • Ausblenden und Anzeigen von Aktionsbereichen mithilfe von Schaltflächen auf der benutzerdefinierten Registerkarte

Hinweis:

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

Vorbereitungsmaßnahmen

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

  • Visual Studio Tools for Office (eine optionale Komponente von Visual Studio 2008 Professional und Visual Studio Team System).

  • Microsoft Office Excel 2007.

Visual Studio Tools for Office wird standardmäßig mit den aufgeführten Versionen von Visual Studio installiert. Wie Sie überprüfen können, ob die Software installiert ist, erfahren Sie in Installieren von Visual Studio Tools for Office.

Unter Video How to: Creating a Custom Tab by Using the Ribbon Designer (möglicherweise in englischer Sprache) finden Sie eine Videodemonstration.

Erstellen eines Excel-Arbeitsmappenprojekts

Die Schritte für die Verwendung des Multifunktionsleisten-Designers sind für alle Office-Anwendungen nahezu identisch. In diesem Beispiel wird eine Excel-Arbeitsmappe verwendet.

So erstellen Sie ein Excel-Arbeitsmappenprojekt

Erstellen von Aktionsbereichen

Fügen Sie dem Projekt zwei benutzerdefinierte Aktionsbereiche hinzu. Später werden der benutzerdefinierten Registerkarte Schaltflächen hinzugefügt, mit denen diese Aktionsbereiche angezeigt und ausgeblendet werden.

So erstellen Sie Aktionsbereiche

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

  2. Wählen Sie im Dialogfeld Neues Element hinzufügen die Option ActionsPaneControl aus, und klicken Sie dann auf Hinzufügen.

    Im Designer wird die Datei ActionsPaneControl1.cs oder die Datei ActionsPaneControl1.vb geöffnet.

  3. Fügen Sie der Oberfläche des Designers auf der Registerkarte Allgemeine Steuerelemente der Toolbox eine Bezeichnung hinzu.

  4. Legen Sie im Fenster Eigenschaften die Text-Eigenschaft von label1 auf Actions Pane 1 fest.

  5. Wiederholen Sie die Schritte 1 bis 5, um einen zweiten Aktionsbereich und eine Bezeichnung zu erstellen. Legen Sie die Text-Eigenschaft der zweiten Bezeichnung auf Actions Pane 2 fest.

Erstellen einer benutzerdefinierten Registerkarte

Eine der Entwurfsrichtlinien für Office-Anwendungen besagt, dass Benutzer immer die Möglichkeit haben sollen, die Benutzeroberfläche von Office-Anwendungen zu steuern. Um diese Funktion für die Aktionsbereiche hinzuzufügen, können Schaltflächen hinzugefügt werden, mit denen jeder Aktionsbereich von einer benutzerdefinierten Registerkarte auf der Multifunktionsleiste angezeigt und ausgeblendet werden kann. Fügen Sie zum Erstellen einer benutzerdefinierten Registerkarte dem Projekt ein Element von Multifunktionsleiste (Visual Designer) hinzu. Der Designer unterstützt Sie beim Hinzufügen und Anordnen von Steuerelementen, Festlegen von Steuerelementeigenschaften und Behandeln von Ereignissen von Steuerelementen.

So erstellen Sie eine benutzerdefinierte Registerkarte

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

  2. Wählen Sie im Dialogfeld Neues Element hinzufügen das Element Multifunktionsleiste (Visual Designer) aus.

  3. Ändern Sie den Namen der neuen Multifunktionsleiste in MyRibbon, und klicken Sie auf Hinzufügen.

    Die Datei MyRibbon.cs oder MyRibbon.vb wird im Multifunktionsleisten-Designer geöffnet. Sie beinhaltet eine standardmäßige Registerkarte und eine Gruppe.

  4. Klicken Sie im Multifunktionsleisten-Designer auf group1.

  5. Legen Sie im Fenster Eigenschaften die Label-Eigenschaft auf Actions Pane Manager fest.

  6. Ziehen Sie von der Registerkarte Steuerelemente für Office-Multifunktionsleisten der Toolbox eine Schaltfläche zu group1.

  7. Klicken Sie auf button1, um sie auszuwählen.

  8. Legen Sie im Fenster Eigenschaften die Label-Eigenschaft auf Show Actions Pane 1 fest.

  9. Fügen Sie group1 eine zweite Schaltfläche hinzu, und legen Sie die Label-Eigenschaft auf Show Actions Pane 2 fest.

  10. Ziehen Sie von der Registerkarte Steuerelemente für Office-Multifunktionsleisten der Toolbox ein ToggleButton-Steuerelement zu group1.

  11. Legen Sie die Label-Eigenschaft auf Hide Actions Pane fest.

Ausblenden und Anzeigen von Aktionsbereichen mithilfe von Schaltflächen auf der benutzerdefinierten Registerkarte

Im letzten Schritt wird Code hinzugefügt, der auf den Benutzer reagiert. Fügen Sie Ereignishandler für die Click-Ereignisse der zwei Schaltflächen und das Click-Ereignis der Umschaltfläche hinzu. Fügen Sie diesen Ereignishandlern Code hinzu, die die Aktionsbereiche ausblenden und anzeigen.

So werden Aktionsbereiche mithilfe von Schaltflächen auf der benutzerdefinierten Registerkarte ausgeblendet und angezeigt

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

  2. Fügen Sie oben in der MyRibbon-Klasse den folgenden Code hinzu: Mit diesem Code werden zwei Aktionsbereichobjekte erstellt.

    Dim actionsPane1 As New ActionsPaneControl1()
    Dim actionsPane2 As New ActionsPaneControl2()
    
    ActionsPaneControl1 actionsPane1 = new ActionsPaneControl1();
    ActionsPaneControl2 actionsPane2 = new ActionsPaneControl2();
    
  3. In C# müssen die folgenden Ereignishandler dem Konstruktor hinzugefügt werden. Weitere Informationen zum Erstellen von Ereignishandlern finden Sie unter Gewusst wie: Erstellen von Ereignishandlern in Visual Studio Tools for Office.

    this.button1.Click += new System.EventHandler
        <Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs>
            (this.button1_Click);
    this.button2.Click += new System.EventHandler
        <Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs>
            (this.button2_Click);
    this.toggleButton1.Click += new System.EventHandler
        <Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs>
            (this.toggleButton1_Click);
    this.Load += new System.EventHandler
        <Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs>
            (this.MyRibbon_Load);
    
  4. Fügen Sie folgenden Code zum MyRibbon_Load-Ereignis hinzu. Mit diesem Code werden die Aktionsbereichsobjekte der Microsoft.Office.Tools.ActionsPane.Controls-Auflistung des Aktionsbereichs hinzugefügt und die Objekte ausgeblendet.

    Private Sub MyRibbon_Load(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs) _
            Handles MyBase.Load
    
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane1)
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane2)
        actionsPane1.Hide()
        actionsPane2.Hide()
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = False
    End Sub
    
    
    private void MyRibbon_Load(object sender, RibbonUIEventArgs e)
    {
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane1);
        Globals.ThisWorkbook.ActionsPane.Controls.Add(actionsPane2);
        actionsPane1.Hide();
        actionsPane2.Hide();
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = false;
    }
    
  5. Fügen Sie der MyRibbon-Klasse die folgenden drei Ereignishandlermethoden hinzu. Diese Methoden dienen zur Behandlung der Click-Ereignisse der zwei Schaltflächen und des Click-Ereignisses der Umschaltfläche. Die Ereignishandler für button1 und button2 zeigen andere Aktionsbereiche an. Der Ereignishandler für toggleButton1 zeigt den aktiven Aktionsbereich an und blendet diesen aus.

    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles Button1.Click
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
        actionsPane2.Hide()
        actionsPane1.Show()
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles Button2.Click
    
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
        actionsPane1.Hide()
        actionsPane2.Show()
    
    End Sub
    
    
    Private Sub ToggleButton1_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles ToggleButton1.Click
    
        If ToggleButton1.Checked Then
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = False
        Else
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = True
        End If
    
    End Sub
    
    private void button1_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true;
        actionsPane2.Hide();
        actionsPane1.Show();
    }
    
    private void button2_Click(object sender, RibbonControlEventArgs e)
    {
        Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true;
        actionsPane1.Hide();
        actionsPane2.Show();
    
    }
    
    private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
    {
        if (toggleButton1.Checked == true)
        {
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = false;
        }
        else
        {
            Globals.ThisWorkbook.Application.DisplayDocumentActionTaskPane = true;
        }
    
    }
    

Testen der benutzerdefinierten Registerkarte

Beim Ausführen des Projekts wird Excel gestartet, und die Registerkarte Add-Ins wird auf der Multifunktionsleiste angezeigt. Klicken Sie auf die Schaltflächen auf der Registerkarte Add-Ins, um die Aktionsbereiche anzuzeigen und auszublenden.

So testen Sie die benutzerdefinierte Registerkarte

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

  2. Klicken Sie auf die Registerkarte Add-Ins.

  3. Klicken Sie in der Gruppe Custom Actions Pane Manager auf Show Actions Pane 1.

    Im daraufhin erscheinenden Aktionsbereich wird die Actions Pane 1-Bezeichnung angezeigt.

  4. Klicken Sie auf Show Actions Pane 2.

    Im daraufhin erscheinenden Aktionsbereich wird die Actions Pane 2-Bezeichnung angezeigt.

  5. Klicken Sie auf Hide Actions Pane.

    Die Aktionsbereiche werden nicht mehr angezeigt.

Nächste Schritte

Weitere Informationen zum Anpassen der Office-Benutzeroberfläche finden Sie in diesen Themen:

Siehe auch

Aufgaben

Gewusst wie: Erste Schritte beim Anpassen der Multifunktionsleiste

Gewusst wie: Ändern der Reihenfolge von Registerkarten in der Multifunktionsleiste

Gewusst wie: Anpassen einer integrierten Registerkarte

Gewusst wie: Anpassen des Microsoft Office-Menüs

Konzepte

Zugreifen auf die Multifunktionsleiste zur Laufzeit

Übersicht über die Multifunktionsleiste

Multifunktionsleisten-Designer

Anpassen einer Multifunktionsleiste in Outlook

Multifunktionsleisten-Objektmodellübersicht