Exemplarische Vorgehensweise: Automatisieren einer Anwendung über einen benutzerdefinierten Aufgabenbereich

In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie ein benutzerdefinierter Aufgabenbereich erstellt wird, der PowerPoint automatisiert. Der benutzerdefinierte Aufgabenbereich fügt Daten in eine Folie ein, wenn der Benutzer auf ein MonthCalendar-Steuerelement klickt, das sich im benutzerdefinierten Aufgabenbereich befindet.

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

Obwohl in dieser exemplarischen Vorgehensweise speziell PowerPoint verwendet wird, gelten die Konzepte in dieser exemplarischen Vorgehensweise für alle oben aufgelisteten Anwendungen.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Entwerfen der Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs

  • Automatisieren von PowerPoint über den benutzerdefinierten Aufgabenbereich

  • Anzeigen des benutzerdefinierten Aufgabenbereichs in PowerPoint

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 PowerPoint 2007 oder Microsoft PowerPoint 2010.

Erstellen des Add-In-Projekts

Im ersten Schritt erstellen Sie ein Add-In-Projekt für PowerPoint.

So erstellen Sie ein neues Projekt

  • Erstellen Sie mithilfe der PowerPoint-Add-In-Projektvorlage ein PowerPoint-Add-In-Projekt mit dem Namen "MyAddIn". 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 MyAddIn-Projekt hinzu.

Entwerfen der Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs

Es gibt keinen visuellen Designer für benutzerdefinierte Aufgabenbereiche, Sie können aber dennoch ein Benutzersteuerelement mit dem gewünschten Layout entwerfen. Im weiteren Verlauf dieser exemplarischen Vorgehensweise fügen Sie dem benutzerdefinierten Aufgabenbereich das Benutzersteuerelement hinzu.

So entwerfen Sie die Benutzeroberfläche des benutzerdefinierten Aufgabenbereichs

  1. Klicken Sie im Menü Projekt auf Benutzersteuerelement hinzufügen.

  2. Ändern Sie im Dialogfeld Neues Element hinzufügen den Namen des Benutzersteuerelements in MyUserControl, und klicken Sie auf Hinzufügen.

    Das Benutzersteuerelement wird im Designer geöffnet.

  3. Ziehen Sie von der Registerkarte Allgemeine Steuerelemente der Toolbox ein MonthCalendar-Steuerelement auf das Benutzersteuerelement.

    Wenn der Umfang des MonthCalendar-Steuerelements größer als die Entwurfsoberfläche des Benutzersteuerelements ist, passen Sie die Größe des Benutzersteuerelements an das MonthCalendar-Steuerelement an.

Automatisieren von PowerPoint über den benutzerdefinierten Aufgabenbereich

Mit dem Add-In soll in der ersten Folie der aktiven Präsentation ein ausgewähltes Datum eingefügt werden. Verwenden Sie das DateChanged-Ereignis des Steuerelements, um das ausgewählte Datum bei jeder Änderung des Datums hinzuzufügen.

So automatisieren Sie PowerPoint über den benutzerdefinierten Aufgabenbereich

  1. Doppelklicken Sie im Designer auf das MonthCalendar-Steuerelement.

    Die Datei MyUserControl.cs oder MyUserControl.vb wird geöffnet, und der Ereignishandler für das DateChanged-Ereignis wird erstellt.

  2. Fügen Sie am Anfang der Datei folgenden Code hinzu. Mit diesem Code werden Aliase für den Microsoft.Office.Core-Namespace und den Microsoft.Office.Interop.PowerPoint-Namespace erstellt.

    Imports Office = Microsoft.Office.Core
    Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    
    using Office = Microsoft.Office.Core;
    using PowerPoint = Microsoft.Office.Interop.PowerPoint;
    
  3. Fügen Sie der MyUserControl-Klasse den folgenden Code hinzu. Durch diesen Code wird ein Shape-Objekt als Member von MyUserControl deklariert. Im nächsten Schritt verwenden Sie diese Shape, um einer Folie in der aktiven Präsentation ein Textfeld hinzuzufügen.

    Private TextBox As PowerPoint.Shape
    
    private PowerPoint.Shape textbox;
    
  4. Ersetzen Sie den monthCalendar1_DateChanged-Ereignishandler durch folgenden Code. Mit diesem Code wird in die erste Folie in der aktiven Präsentation ein Textfeld eingefügt, in das anschließend das gegenwärtig ausgewählte Datum eingefügt wird. Im Code wird mithilfe des Globals.ThisAddIn-Objekts auf das PowerPoint-Objektmodell zugegriffen.

    Private Sub MonthCalendar1_DateChanged( _
        ByVal sender As System.Object, _
        ByVal e As System.Windows.Forms.DateRangeEventArgs) _
        Handles MonthCalendar1.DateChanged
    
        Try
            If TextBox IsNot Nothing Then
                TextBox.Delete()
            End If
    
            Dim Slide As PowerPoint.Slide
            Slide = Globals.ThisAddIn.Application.ActivePresentation.Slides(1)
            TextBox = Slide.Shapes.AddTextbox( _
                Office.MsoTextOrientation.msoTextOrientationHorizontal, _
                50, 100, 600, 50)
            TextBox.TextFrame.TextRange.Text = e.Start.ToLongDateString()
            TextBox.TextFrame.TextRange.Font.Size = 48
            TextBox.TextFrame.TextRange.Font.Color.RGB = _
                System.Drawing.Color.DarkViolet.ToArgb()
    
        Catch ex As Exception
            System.Windows.Forms.MessageBox.Show(ex.ToString())
        End Try
    End Sub
    
    private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
    {
        try
        {
            if (textbox != null)
            {
                textbox.Delete();
            }
    
            PowerPoint.Slide slide =
                Globals.ThisAddIn.Application.ActivePresentation.Slides[1];
            textbox = slide.Shapes.AddTextbox(
                Office.MsoTextOrientation.msoTextOrientationHorizontal,
                50, 100, 600, 50);
            textbox.TextFrame.TextRange.Text = e.Start.ToLongDateString();
            textbox.TextFrame.TextRange.Font.Size = 48;
            textbox.TextFrame.TextRange.Font.Color.RGB =
                 Color.DarkViolet.ToArgb();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    
  5. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das MyAddIn-Projekt, und klicken Sie dann auf Erstellen. Überprüfen Sie, ob sich das Projekt fehlerfrei erstellen lässt.

Anzeigen des benutzerdefinierten Aufgabenbereichs

Um den benutzerdefinierten Aufgabenbereich beim Starten des Add-Ins anzuzeigen, fügen Sie dem Aufgabenbereich das Benutzersteuerelement im Startup-Ereignishandler des Add-Ins hinzu.

So zeigen Sie den benutzerdefinierten Aufgabenbereich an

  1. Erweitern Sie im Projektmappen-Explorer PowerPoint.

  2. Klicken Sie mit der rechten Maustaste auf ThisAddIn.cs oder ThisAddIn.vb, und klicken Sie auf Code anzeigen.

  3. Fügen Sie der ThisAddIn-Klasse folgenden Code hinzu. In diesem Code werden Instanzen von MyUserControl und CustomTaskPane als Member der ThisAddIn-Klasse deklariert.

    Private myUserControl1 As MyUserControl
    Private myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane
    
    private MyUserControl myUserControl1;
    private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
    
  4. Ersetzen Sie den ThisAddIn_Startup-Ereignishandler durch folgenden Code. In diesem Code wird ein neues CustomTaskPane-Element erstellt, indem das MyUserControl-Objekt zur CustomTaskPanes-Auflistung hinzugefügt wird. Im Code wird auch der Aufgabenbereich angezeigt.

    Private Sub ThisAddIn_Startup(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Startup
    
        myUserControl1 = New MyUserControl
        myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "Calendar")
        myCustomTaskPane.Visible = True
    End Sub
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        myUserControl1 = new MyUserControl();
        myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "Calendar");
        myCustomTaskPane.Visible = true;
    }
    

Testen des Add-Ins

Wenn Sie das Projekt ausführen, wird PowerPoint geöffnet, und das Add-In zeigt den benutzerdefinierten Aufgabenbereich an. Klicken Sie auf das MonthCalendar-Steuerelement, 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 der benutzerdefinierte Aufgabenbereich sichtbar ist.

  3. Klicken Sie im MonthCalendar-Steuerelement des Aufgabenbereichs auf ein Datum.

    Das Datum wird in die erste Folie der aktiven Präsentation eingefügt.

Nächste Schritte

Weitere Informationen über das Erstellen von benutzerdefinierten Aufgabenbereichen finden Sie in diesen Themen:

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen eines benutzerdefinierten Aufgabenbereichs zu einer Anwendung

Exemplarische Vorgehensweise: Synchronisieren eines benutzerdefinierten Aufgabenbereichs mit einer Multifunktionsleistenschaltfläche

Exemplarische Vorgehensweise: Anzeigen von benutzerdefinierten Aufgabenbereichen mit E-Mails in Outlook

Gewusst wie: Anzeigen von benutzerdefinierten Aufgabenbereichen mit E-Mails in Outlook

Konzepte

Verwalten von benutzerdefinierten Aufgabenbereichen in mehreren Anwendungsfenstern

Weitere Ressourcen

Übersicht über benutzerdefinierte Aufgabenbereiche