Programm-VSTO-Add-Ins

Gilt für:JaVisual Studio NeinVisual Studio für MacNeinVisual Studio Code

Wenn Sie eine Microsoft Office-Anwendung erweitern, indem Sie ein VSTO-Add-In erstellen, schreiben Sie Code direkt für die ThisAddIn -Klasse in Ihrem Projekt. Sie können diese Klasse zum Ausführen von Aufgaben wie das Zugreifen auf das Objektmodell der Microsoft Office-Hostanwendung, das Anpassen der Benutzeroberfläche (UI) einer Anwendung und das Verfügbarmachen von Objekten in Ihrem VSTO-Add-In für andere Office-Projektmappen verwenden.

Gilt für: Die Informationen in diesem Thema gelten für VSTO-Add-In-Projekte. Weitere Informationen finden Sie unter Features available by Office application and project type.For more information, see Features available by Office application and project type.

Einige Aspekte beim Schreiben von Code in VSTO-Add-In-Projekten unterscheiden sich von anderen Projekttypen in Visual Studio. Viele dieser Unterschiede haben mit der Art zu tun, wie die Office-Objektmodelle im verwalteten Code verfügbar gemacht werden. Weitere Informationen finden Sie unter Schreiben von Code in Office-Projektmappen.

Allgemeine Informationen zu VSTO-Add-Ins und anderen Projektmappentypen, die Sie mit den Office-Entwicklungstools in Visual Studio erstellen können, finden Sie unter Übersicht zur Entwicklung von Office-Lösungen (VSTO).

Verwenden der ThisAddIn-Klasse

Sie können mit dem Schreiben des VSTO-Add-In-Codes in der ThisAddIn -Klasse beginnen. Visual Studio generiert diese Klasse automatisch in der Codedatei ThisAddIn.vb (in Visual Basic) oder ThisAddIn.cs (in C#) in Ihrem VSTO-Add-In-Projekt. Die Visual Studio-Tools für Office Runtime instanziiert diese Klasse automatisch für Sie, wenn die Microsoft Office-Anwendung Ihr VSTO-Add-In lädt.

Es gibt zwei Standardereignishandler in der ThisAddIn -Klasse. Um Code auszuführen, wenn das VSTO-Add-In geladen wird, fügen Sie dem ThisAddIn_Startup -Ereignishandler Code hinzu. Um Code direkt vor dem Entladen des VSTO-Add-Ins auszuführen, fügen Sie dem ThisAddIn_Shutdown -Ereignishandler Code hinzu. Weitere Informationen zu diesen Ereignishandlern finden Sie unter Ereignisse in Office-Projekten.

Hinweis

In Outlook wird der ThisAddIn_Shutdown -Ereignishandler standardmäßig nicht jedes Mal aufgerufen, wenn das VSTO-Add-In entladen wird. Weitere Informationen finden Sie unter Ereignisse in Office-Projekten.

Zugreifen auf das Objektmodell der Hostanwendung

Verwenden Sie zum Zugreifen auf das Objektmodell der Hostanwendung das Feld Application der ThisAddIn -Klasse. Dieses Feld gibt ein Objekt zurück, das für die aktuelle Instanz der Hostanwendung steht. In der folgenden Tabelle sind die Typen der Rückgabewerte für das Feld Application in jedem VSTO-Add-In-Projekt aufgeführt.

Hostanwendung Typ des Rückgabewerts
Microsoft Office Excel Application
Microsoft Office InfoPath Application
Microsoft Office Outlook Application
Microsoft Office PowerPoint Anwendung
Microsoft Office Project Microsoft.Office.Interop.MSProject.Application
Microsoft Office Visio Microsoft.Office.Interop.Visio.Application
Microsoft Office Word Application

Das folgende Codebeispiel zeigt, wie Sie mithilfe des Application Felds eine neue Arbeitsmappe in einem VSTO-Add-In für Microsoft Office Excel erstellen. Dieses Beispiel ist für die Ausführung über die ThisAddIn -Klasse bestimmt.

Excel.Workbook newWorkbook = this.Application.Workbooks.Add(System.Type.Missing);

Verwenden Sie für die Ausführung außerhalb der ThisAddIn -Klasse das Globals -Objekt, um auf die ThisAddIn -Klasse zuzugreifen. Weitere Informationen zum Globals -Objekt finden Sie unter Globaler Zugriff auf Objekte in Office-Projekten.

Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);

Weitere Informationen zu den Objektmodellen von bestimmten Microsoft Office-Anwendungen finden Sie unter den folgenden Themen:

Zugreifen auf ein Dokument beim Starten der Office-Anwendung

Nicht alle Office 2010-Anwendungen öffnen ein Dokument automatisch, wenn Sie sie starten, und keine der Office 2013-Anwendungen öffnet ein Dokument, wenn Sie sie starten. Fügen Sie daher dem ThisAdd-In_Startup Ereignishandler keinen Code hinzu, wenn für den Code ein Dokument geöffnet sein muss. Fügen Sie stattdessen diesen Code einem Ereignis hinzu, welches durch die Office-Anwendung ausgelöst wird, wenn vom Benutzer ein Dokument erstellt oder geöffnet wird. So können Sie sicherstellen, dass ein Dokument geöffnet ist, bevor mit Ihrem Code Schritte dafür ausgeführt werden.

Das folgende Codebeispiel funktioniert mit einem Word-Dokument nur dann, wenn der Benutzer ein Dokument erstellt oder ein bestehendes öffnet.

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        this.Application.DocumentOpen +=
new Word.ApplicationEvents4_DocumentOpenEventHandler(WorkWithDocument);

        ((Word.ApplicationEvents4_Event)this.Application).NewDocument +=
            new Word.ApplicationEvents4_NewDocumentEventHandler(WorkWithDocument);  
    }
    
    private void WorkWithDocument(Microsoft.Office.Interop.Word.Document Doc)
    {
        try
        {
            Word.Range rng = Doc.Range(0, 0);
            rng.Text = "New Text";
            rng.Select();
        }
        catch (Exception ex)
        {
            // Handle exception if for some reason the document is not available.
        }
    }

ThisAddIn-Member zur Verwendung für andere Aufgaben

In der folgende Tabelle werden weitere häufig vorkommende Aufgaben beschrieben, und es wird gezeigt, welche Member der ThisAddIn -Klasse Sie zum Ausführen der Aufgaben verwenden können.

Aufgabe Zu verwendender Member
Führen Sie Code aus, um das VSTO-Add-In zu initialisieren, wenn es geladen wird. Fügen Sie der ThisAddIn_Startup -Methode Code hinzu. Dies ist der Standardereignishandler für das Startup -Ereignis. Weitere Informationen finden Sie unter Ereignisse in Office-Projekten.
Führen Sie Code zum Bereinigen von Ressourcen aus, die vom VSTO-Add-In verwendet werden, bevor das VSTO-Add-In entladen wird. Fügen Sie der ThisAddIn_Shutdown -Methode Code hinzu. Dies ist der Standardereignishandler für das Shutdown -Ereignis. Weitere Informationen finden Sie unter Ereignisse in Office-Projekten. Hinweis: In Outlook wird der ThisAddIn_Shutdown Ereignishandler standardmäßig nicht immer aufgerufen, wenn das VSTO-Add-In entladen wird. Weitere Informationen finden Sie unter Ereignisse in Office-Projekten.
Zeigen Sie einen benutzerdefinierten Aufgabenbereich an. Verwenden Sie das Feld CustomTaskPanes . Weitere Informationen finden Sie unter Benutzerdefinierte Aufgabenbereiche.
Machen Sie Objekte im VSTO-Add-In für andere Microsoft Office-Projektmappen verfügbar. Überschreiben Sie die RequestComAddInAutomationService -Methode. Weitere Informationen finden Sie unter Aufrufen von Code in VSTO-Add-Ins aus anderen Office-Lösungen.
Passen Sie eine Funktion im Microsoft Office System an, indem Sie eine Erweiterbarkeitsschnittstelle implementieren. Überschreiben Sie die RequestService -Methode , um eine Instanz einer Klasse zurückzugeben, die die Schnittstelle implementiert. Weitere Informationen finden Sie unter Anpassen von Ui-Features mithilfe von Erweiterbarkeitsschnittstellen. Hinweis: Zum Anpassen der Menüband-Benutzeroberfläche können Sie auch die CreateRibbonExtensibilityObject -Methode überschreiben.

Grundlegendes zum Entwurf der ThisAddIn-Klasse

In Projekten, die auf die .NET Framework 4 abzielen, AddIn ist eine Schnittstelle. Die ThisAddIn -Klasse wird aus der AddInBase -Klasse abgeleitet. Diese Basisklasse leitet alle Aufrufe ihrer Member an eine interne Implementierung der AddIn Schnittstelle in der Visual Studio-Tools für Office Runtime um.

In VSTO-Add-In-Projekten für Outlook leitet sich die ThisAddIn Klasse von der Microsoft.Office.Tools.Outlook.OutlookAddIn Klasse in Projekten ab, die auf die .NET Framework 3.5 abzielen, und von OutlookAddInBase Projekten, die auf die .NET Framework 4 abzielen. Diese Basisklassen stellen einige zusätzliche Funktionen zur Unterstützung von Formularbereichen bereit. Weitere Informationen zu Formularbereichen finden Sie unter Erstellen von Outlook-Formularbereichen.

Anpassen der Benutzeroberfläche von Microsoft Office-Anwendungen

Sie können die Benutzeroberfläche von Microsoft Office-Anwendungen programmgesteuert anpassen, indem Sie ein VSTO-Add-In verwenden. Beispielsweise können Sie das Menüband anpassen, einen benutzerdefinierten Aufgabenbereich anzeigen oder in Outlook einen benutzerdefinierten Formularbereich erstellen. Weitere Informationen finden Sie unter Anpassung der Office-Benutzeroberfläche.

Visual Studio stellt Designer und Klassen bereit, die Sie zum Erstellen von benutzerdefinierten Aufgabenbereichen, Menübandanpassungen und Outlook-Formularbereichen verwenden können. Diese Designer und Klassen vereinfachen das Anpassen dieser Funktionen. Weitere Informationen finden Sie unter Benutzerdefinierte Aufgabenbereiche, Menüband Designer und Erstellen von Outlook-Formularbereichen.

Wenn Sie eine dieser Funktionen auf eine Weise anpassen möchten, die von den Klassen und Designern nicht unterstützt wird, können Sie diese Funktionen auch anpassen, indem Sie in Ihrem VSTO-Add-In eine Erweiterbarkeitsschnittstelle implementieren. Weitere Informationen finden Sie unter Anpassen von Ui-Features mithilfe von Erweiterbarkeitsschnittstellen.

Darüber hinaus können Sie die Benutzeroberfläche von Word-Dokumenten und Excel-Arbeitsmappen ändern, indem Sie Hostelemente generieren, mit denen das Verhalten von Dokumenten und Arbeitsmappen erweitert wird. Dies ermöglicht Ihnen das Hinzufügen von verwalteten Steuerelementen zu Dokumenten und Arbeitsblättern. Weitere Informationen finden Sie unter Erweitern Word Dokumente und Excel-Arbeitsmappen in VSTO-Add-Ins zur Laufzeit.

Aufrufen von Code in VSTO-Add-Ins aus anderen Lösungen

Sie können Objekte in Ihrem VSTO-Add-In für andere Projektmappen verfügbar machen, z. B. andere Office-Projektmappen. Dies ist hilfreich, wenn Ihr VSTO-Add-In einen Dienst bereitstellt, der durch andere Projektmappen verwendet werden soll. Wenn Sie beispielsweise über ein VSTO-Add-In für Microsoft Office Excel verfügen, das Berechnungen für Finanzdaten aus einem Webdienst ausführt, können andere Lösungen diese Berechnungen ausführen, indem sie das Excel-VSTO-Add-In zur Laufzeit aufrufen.

Weitere Informationen finden Sie unter Aufrufen von Code in VSTO-Add-Ins aus anderen Office-Lösungen.

Siehe auch