Freigeben über


Programmieren von Add-Ins auf Anwendungsebene

Wenn Sie eine Microsoft Office-Anwendung erweitern, indem Sie ein Add-In auf Anwendungsebene erstellen, schreiben Sie Code direkt für die ThisAddIn-Klasse im Projekt. Sie können diese Klasse verwenden, um Aufgaben auszuführen, beispielsweise das Zugreifen auf das Objektmodell der Microsoft Office-Hostanwendung, das Anpassen der Benutzeroberfläche der Anwendung und das Verfügbarmachen von Objekten im Add-In für andere Office-Projektmappen.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Anwendungsebene für Microsoft Office 2010 und 2007 Microsoft Office System. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Einige Aspekte beim Schreiben von Code in Add-In-Projekten unterscheiden sich von anderen Projekttypen in Visual Studio. Viele dieser Unterscheide werden durch die Art und Weise verursacht, 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 Add-Ins auf Anwendungsebene und anderen Typen von Lösungen, die mit den Office-Entwicklungstools in Visual Studio erstellt werden können, finden Sie unter Übersicht über die Entwicklung von Office-Projektmappen.

Verwenden der ThisAddIn-Klasse

Sie können den Add-In-Code zunächst in der ThisAddIn-Klasse schreiben. Visual Studio generiert diese Klasse automatisch in der Codedatei ThisAddIn.vb (in Visual Basic) oder ThisAddIn.cs (in C#) im Add-In-Projekt. Visual Studio Tools for Office-Laufzeit instanziiert diese Klasse automatisch, wenn die Microsoft Office-Anwendung das Add-In lädt.

Es gibt zwei Standardereignishandler in der ThisAddIn-Klasse. Wenn Code beim Laden des Add-Ins ausgeführt werden soll, fügen Sie dem ThisAddIn_Startup-Ereignishandler Code hinzu. Wenn Code direkt vor dem Entladen des Add-Ins ausgeführt werden soll, fügen Sie dem ThisAddIn_Shutdown-Ereignishandler Code hinzu. Weitere Informationen zu diesen Ereignishandlern finden Sie unter Ereignisse in Office-Projekten.

Tipp

In Outlook 2010 wird der ThisAddIn_Shutdown-Ereignishandler beim Entladen des Add-Ins standardmäßig nicht immer aufgerufen. Weitere Informationen finden Sie unter Ereignisse in Office-Projekten.

Zugreifen auf das Objektmodell der Hostanwendung

Auf das Objektmodell der Hostanwendung können Sie über das Feld Application der ThisAddIn-Klasse zugreifen. Dieses Feld gibt ein Objekt zurück, das die aktuelle Instanz der Hostanwendung darstellt. In der folgenden Tabelle wird der Typ des Rückgabewerts für das Application-Feld in jedem Add-In-Projekt aufgeführt.

Hostanwendung

Typ des Rückgabewerts

Microsoft Office Excel

Microsoft.Office.Interop.Excel.Application

Microsoft Office InfoPath

Microsoft.Office.Interop.InfoPath.Application

Microsoft Office Outlook

Microsoft.Office.Interop.Outlook.Application

Microsoft Office PowerPoint

Microsoft.Office.Interop.PowerPoint.Application

Microsoft Office Project

Microsoft.Office.Interop.MSProject.Application

Microsoft Office Visio

Microsoft.Office.Interop.Visio.Application

Microsoft Office Word

Microsoft.Office.Interop.Word.Application

Im folgenden Codebeispiel wird gezeigt, wie Sie das Application-Feld verwenden, um eine neue Arbeitsmappe in einem Add-In für Microsoft Office Excel zu erstellen. Dieses Beispiel soll in der ThisAddIn-Klasse ausgeführt werden.

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

Sie können dieselbe Aufgabe auch außerhalb der ThisAddIn-Klasse ausführen, indem Sie mithilfe des Globals-Objekts auf die ThisAddIn-Klasse zugreifen. Weitere Informationen über das Globals-Objekt finden Sie unter Globaler Zugriff auf Objekte in Office-Projekten.

Dim newWorkbook As Excel.Workbook = Globals.ThisAddIn.Application.Workbooks.Add()
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:

ThisAddIn-Member für andere Aufgaben

In der folgenden Tabelle werden weitere häufige Aufgaben beschrieben, und es wird gezeigt, mit welchen Membern der ThisAddIn-Klasse Sie die Aufgaben ausführen können.

Aufgabe

Zu verwendender Member

Ausführen von Code zum Initialisieren des Add-Ins, wenn das 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.

Ausführen von Code, um von dem Add-In verwendete Ressourcen zu bereinigen, bevor das 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.

HinweisHinweis
In Outlook 2010 wird der ThisAddIn_Startup-Ereignishandler beim Entladen des Add-Ins standardmäßig nicht immer aufgerufen.Weitere Informationen finden Sie unter Ereignisse in Office-Projekten.

Anzeigen eines benutzerdefinierten Aufgabenbereichs.

Verwenden Sie das CustomTaskPanes-Feld. Weitere Informationen finden Sie unter Übersicht über benutzerdefinierte Aufgabenbereiche.

Erstellen Sie ein Smarttag, das in allen geöffneten Word-Dokumenten oder Excel-Arbeitsmappen erkannt werden kann.

HinweisHinweis
Smarttags sind in Excel 2010 und Word 2010 veraltet.Weitere Informationen finden Sie unter Übersicht über Smarttags.

Verwenden Sie in einem Add-In für Excel oder Word das VstoSmartTags-Feld. Weitere Informationen finden Sie unter Übersicht über Smarttags.

Verfügbarmachen von Objekten im Add-In für andere Microsoft Office-Projektmappen

Überschreiben Sie die RequestComAddInAutomationService-Methode. Weitere Informationen finden Sie unter Aufrufen von Code in Add-Ins auf Anwendungsebene von anderen Office-Projektmappen.

Anpassen eines Features im Microsoft Office System durch Implementieren einer Erweiterungsschnittstelle

Überschreiben Sie die RequestService-Methode, um eine Instanz einer Klasse zurückzugeben, die die Schnittstelle implementiert. Weitere Informationen finden Sie unter Anpassen von Features der Benutzeroberfläche mithilfe von Erweiterungsschnittstellen.

HinweisHinweis
Um die Benutzeroberfläche des Menübands anzupassen, können Sie auch die CreateRibbonExtensibilityObject-Methode überschreiben.

Grundlegendes zum Entwurf der ThisAddIn-Klasse

In Projekten, die auf .NET Framework 3.5 abzielen, wird die ThisAddIn-Klasse von der Microsoft.Office.Tools.AddIn-Klasse in Visual Studio Tools for Office-Laufzeit abgeleitet.

In Projekten, die auf .NET Framework 4 abzielen, ist Microsoft.Office.Tools.AddIn eine Schnittstelle, deshalb kann die generierte ThisAddIn-Klasse davon keine Implementierung ableiten. Stattdessen wird die ThisAddIn-Klasse von der Microsoft.Office.Tools.AddInBase-Klasse abgeleitet. Diese Basisklasse leitet alle Aufrufe an ihre Member zu einer internen Implementierung der Microsoft.Office.Tools.AddIn-Schnittstelle in Visual Studio Tools for Office-Laufzeit um. Weitere Informationen zu den Unterschieden in der Visual Studio Tools for Office-Laufzeit für Projekte, die auf .NET Framework 3.5 und .NET Framework 4 abzielen, finden Sie unter Übersicht über die Visual Studio Tools for Office-Laufzeit.

In Add-In-Projekten für Outlook wird die ThisAddIn-Klasse von der Microsoft.Office.Tools.Outlook.OutlookAddIn-Klasse in Projekten, die auf .NET Framework 3.5 abzielen, und von Microsoft.Office.Tools.Outlook.OutlookAddInBase in Projekten, die auf .NET Framework 4 abzielen, abgeleitet. Diese Basisklassen stellen zusätzliche Funktionen bereit, um Formularbereiche zu unterstützen. Weitere Informationen zu Formularbereichen finden Sie unter Erstellen von Outlook-Formularbereichen.

Anpassen der Benutzeroberfläche von Microsoft Office-Anwendungen

Mithilfe eines Add-Ins auf Anwendungsebene können Sie die Benutzeroberfläche von Microsoft Office-Anwendungen programmgesteuert anpassen. Sie können beispielsweise das Menüband anpassen, einen benutzerdefinierten Aufgabenbereich anzeigen oder einen benutzerdefinierten Formularbereich in Outlook erstellen. Weitere Informationen finden Sie unter Anpassung der Office-Benutzeroberfläche.

Visual Studio stellt Designer und Klassen bereit, die Sie verwenden können, um benutzerdefinierte Aufgabenbereiche, angepasste Menübänder und Outlook-Formularbereiche zu erstellen. Mit diesen Designern und Klassen wird der Anpassungsprozess für diese Features vereinfacht. Weitere Informationen finden Sie unter Übersicht über benutzerdefinierte Aufgabenbereiche, Multifunktionsleisten-Designer und Erstellen von Outlook-Formularbereichen.

Wenn Sie eines dieser Features auf eine nicht von Klassen und Designern unterstützte Weise anpassen möchten, können Sie die Features durch Implementieren einer Erweiterungsschnittstelle im Add-In anpassen. Weitere Informationen finden Sie unter Anpassen von Features der Benutzeroberfläche mithilfe von Erweiterungsschnittstellen.

Sie können auch die Benutzeroberfläche von Word-Dokumenten und Excel-Arbeitsmappen ändern, indem Sie Hostelemente generieren, die das Verhalten von Dokumenten und Arbeitsmappen erweitern. Dies ermöglicht Ihnen, Dokumenten und Arbeitsblättern verwaltete Steuerelemente und Smarttags hinzuzufügen. Weitere Informationen finden Sie unter Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit.

Aufrufen von Code in Add-Ins auf Anwendungsebene von anderen Lösungen

Sie können Objekte im Add-In für andere Lösungen, einschließlich Office-Lösungen, verfügbar machen. Dies ist nützlich, wenn das Add-In einen Dienst bietet, den auch andere Lösungen nutzen sollen. Wenn Sie beispielsweise ein Add-In für Microsoft Office Excel haben, das Berechnungen für Finanzdaten von einem Webdienst durchführt, können andere Lösungen diese Berechnungen durchführen, indem sie das Excel-Add-In zur Laufzeit aufrufen.

Weitere Informationen finden Sie unter Aufrufen von Code in Add-Ins auf Anwendungsebene von anderen Office-Projektmappen.

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Aufrufen von Code in einem Add-In auf Anwendungsebene von VBA

Gewusst wie: Erstellen von Office-Projekten in Visual Studio

Konzepte

Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit

Aufrufen von Code in Add-Ins auf Anwendungsebene von anderen Office-Projektmappen

Anpassen von Features der Benutzeroberfläche mithilfe von Erweiterungsschnittstellen

Architektur von Add-Ins auf Anwendungsebene

Schreiben von Code in Office-Projektmappen

Weitere Ressourcen

Entwickeln von Office-Projektmappen