Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 verwenden, um Aufgaben auszuführen, z. B. den Zugriff auf das Objektmodell der Microsoft Office-Hostanwendung, das Anpassen der Benutzeroberfläche der Anwendung und das Verfügbarmachen von Objekten in Ihrem VSTO-Add-In für andere Office-Lösungen.
Gilt für: Die Informationen in diesem Thema gelten für VSTO-Add-In-Projekte. Weitere Informationen finden Sie unter Funktionen verfügbar nach Office-Anwendung und Projekttyp.
Einige Aspekte des Schreibens von Code in VSTO-Add-In-Projekten unterscheiden sich von anderen Projekttypen in Visual Studio. Durch die Art und Weise, wie die Office-Objektmodelle dem verwalteten Code verfügbar gemacht werden, werden viele dieser Unterschiede verursacht. Weitere Informationen finden Sie unter Schreiben von Code in Office-Lösungen.
Allgemeine Informationen zu VSTO-Add-Ins und anderen Lösungstypen, die Sie mithilfe der Office-Entwicklungstools in Visual Studio erstellen können, finden Sie unter VSTO (Übersicht über die Entwicklung von Office-Lösungen).
Verwenden der ThisAddIn-Klasse
Sie können mit dem Schreiben ihres VSTO-Add-In-Codes in der ThisAddIn Klasse beginnen. Visual Studio generiert diese Klasse automatisch in der ThisAddIn.vb (in Visual Basic) oder ThisAddIn.cs (in C#)-Codedatei in Ihrem VSTO-Add-In-Projekt. Die Laufzeitumgebung der Visual Studio Tools for Office 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 immer 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 das Application Feld der ThisAddIn Klasse, um auf das Objektmodell der Hostanwendung zuzugreifen. Dieses Feld gibt ein Objekt zurück, das die aktuelle Instanz der Hostanwendung darstellt. Die folgende Tabelle enthält den Typ des Rückgabewerts für das Application Feld in jedem VSTO-Add-In-Projekt.
| Hostanwendung | Rückgabewerttyp |
|---|---|
| Microsoft Office Excel | Application |
| Microsoft Office InfoPath | Application |
| Microsoft Office Outlook | Application |
| Microsoft Office PowerPoint | Application |
| 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 soll aus der ThisAddIn Klasse ausgeführt werden.
Um das Gleiche von außerhalb der ThisAddIn Klasse zu tun, verwenden Sie das Globals Objekt, um auf die ThisAddIn Klasse zuzugreifen. Weitere Informationen zum Globals Objekt finden Sie unter globalen Zugriff auf Objekte in Office-Projekten.
Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);
Weitere Informationen zu den Objektmodellen bestimmter Microsoft Office-Anwendungen finden Sie in den folgenden Themen:
Zugreifen auf ein Dokument, wenn die Office-Anwendung gestartet wird
Nicht alle Office 2010-Anwendungen öffnen automatisch ein Dokument, wenn Sie es starten, und keine der Office 2013-Anwendungen öffnen ein Dokument, wenn Sie es starten. Fügen Sie daher keinen Code im ThisAdd-In_Startup Ereignishandler hinzu, wenn der Code ein Dokument öffnen muss. Fügen Sie stattdessen diesen Code zu einem Ereignis hinzu, das von der Office-Anwendung ausgelöst wird, wenn ein Benutzer ein Dokument erstellt oder öffnet. Auf diese Weise können Sie sicherstellen, dass ein Dokument geöffnet ist, bevor ihr Code Vorgänge ausführt.
Das folgende Codebeispiel funktioniert nur mit einem Dokument in Word, wenn der Benutzer ein Dokument erstellt oder ein vorhandenes Dokument ö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-Mitglieder, die für andere Aufgaben zum Einsatz kommen
In der folgenden Tabelle werden andere allgemeine Aufgaben beschrieben und gezeigt, welche Elemente der Klasse zum Ausführen der ThisAddIn Aufgaben verwendet werden können.
| Aufgabe | Mitglied zur Verwendung |
|---|---|
| Führen Sie Code aus, um das VSTO-Add-In zu initialisieren, wenn das VSTO-Add-In 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 aus, um ressourcen zu bereinigen, 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".
Anmerkung: 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". |
| Anzeigen eines benutzerdefinierten Aufgabenbereichs. | Verwenden Sie das CustomTaskPanes Feld. Weitere Informationen finden Sie unter "Benutzerdefinierte Aufgabenbereiche". |
| Machen Sie Objekte in Ihrem VSTO-Add-In für andere Microsoft Office-Lösungen verfügbar. | Überschreiben Sie die RequestComAddInAutomationService Methode. Weitere Informationen finden Sie unter Anrufcode in VSTO-Add-Ins aus anderen Office-Lösungen. |
| Passen Sie ein Feature 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. Anmerkung: Um die Menüband-Benutzeroberfläche anzupassen, können Sie die CreateRibbonExtensibilityObject Methode auch überschreiben. |
Grundlegendes zum Design der ThisAddIn-Klasse
In Projekten, die auf .NET Framework 4 abzielen, ist AddIn eine Schnittstelle. Die ThisAddIn Klasse wird von der AddInBase Klasse abgeleitet. Diese Basisklasse leitet alle Aufrufe an ihre Member an eine interne Implementierung der AddIn Schnittstelle in der Visual Studio Tools for Office-Laufzeit um.
In VSTO-Add-In-Projekten für Outlook wird die ThisAddIn Klasse von der Microsoft.Office.Tools.Outlook.OutlookAddIn Klasse in Projekten abgeleitet, die auf .NET Framework 3.5 abzielen, und aus OutlookAddInBase Projekten, die auf .NET Framework 4 abzielen. Diese Basisklassen bieten einige zusätzliche Funktionen zur Unterstützung von Formularbereichen. 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 mithilfe eines VSTO-Add-Ins anpassen. Sie können beispielsweise das Menüband anpassen, einen benutzerdefinierten Aufgabenbereich anzeigen oder einen benutzerdefinierten Formularbereich in Outlook erstellen. Weitere Informationen finden Sie in der Anpassung der Office-Benutzeroberfläche.
Visual Studio stellt Designer und Klassen bereit, mit denen Sie benutzerdefinierte Aufgabenbereiche, Menübandanpassungen und Outlook-Formularbereiche erstellen können. Diese Designer und Klassen tragen dazu bei, den Prozess der Anpassung dieser Features zu vereinfachen. Weitere Informationen finden Sie unter "Benutzerdefinierte Aufgabenbereiche", "Menüband-Designer" und "Erstellen von Outlook-Formularbereichen".
Wenn Sie eines dieser Features auf eine Weise anpassen möchten, die von den Klassen und Designern nicht unterstützt wird, können Sie diese Features auch anpassen, indem Sie eine Erweiterbarkeitsschnittstelle in Ihrem VSTO-Add-In 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, die das Verhalten von Dokumenten und Arbeitsmappen erweitern. Auf diese Weise können Sie verwaltete Steuerelemente zu Dokumenten und Arbeitsblättern hinzufügen. Weitere Informationen finden Sie unter Erweitern von Word-Dokumenten 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 Lösungen verfügbar machen, einschließlich anderer Office-Lösungen. Dies ist nützlich, wenn Ihr VSTO-Add-In einen Dienst bereitstellt, den Sie anderen zu verwendenden Lösungen ermöglichen möchten. Wenn Sie beispielsweise über ein VSTO-Add-In für Microsoft Office Excel verfügen, das Berechnungen für Finanzdaten von einem Webdienst ausführt, können andere Lösungen diese Berechnungen ausführen, indem Sie zur Laufzeit das Excel VSTO-Add-In aufrufen.
Weitere Informationen finden Sie unter Anrufcode in VSTO-Add-Ins aus anderen Office-Lösungen.
Verwandte Inhalte
- Entwickeln von Office-Lösungen
- Word-Dokumente und Excel-Arbeitsmappen zur Laufzeit in VSTO-Add-Ins erweitern
- Aufrufen von Code in VSTO-Add-Ins aus anderen Office-Lösungen
- Anleitung: Aufrufen von Code in einem VSTO-Add-In aus VBA
- Anpassen von UI-Features mithilfe von Erweiterbarkeitsschnittstellen
- Vorgehensweise: Erstellen von Office-Projekten in Visual Studio
- Architektur von VSTO-Add-Ins
- Schreiben von Code in Office-Lösungen