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 2013 und Microsoft Office 2010. 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 für 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.

HinweisHinweis

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

Bb157876.collapse_all(de-de,VS.110).gifZugreifen 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:

Bb157876.collapse_all(de-de,VS.110).gifZugreifen auf ein Dokument wenn die Office-Anwendungs-Anfänge

Nicht alle Office 2010-Anwendungen automatisch ein Dokument öffnen, wenn Sie sie beginnen, und keine der Office 2013-Anwendungen ein Dokument öffnen, wenn Sie sie starten.Deshalb fügen Sie keinen Code im ThisAdd-In_Startup-Ereignishandler hinzu, wenn der Code ein Dokument erfordert, geöffnet sein.Stattdessen fügen Sie diesen Code einem Ereignis hinzugefügt, der die Office-Anwendung ausgelöst wird, wenn ein Benutzer ein Dokument erstellt oder geöffnet wird.Daher, können Sie sicherstellen, dass ein Dokument geöffnet ist, bevor der Code Operationen ausführt.

Das folgende Codebeispiel kann mit einem Dokument in Word nur, wenn der Benutzer ein Dokument erstellt oder ein vorhandenes Dokument öffnet.

Private Sub ThisAddIn_Startup() Handles Me.Startup

    AddHandler Application.NewDocument, AddressOf WorkWithDocument

End Sub

Private Sub WorkWithDocument(ByVal Doc As Microsoft.Office.Interop.Word.Document) _
    Handles Application.DocumentOpen

    Dim rng As Word.Range = Doc.Range(Start:=0, End:=0)
    rng.Text = " New Text "
    rng.Select()

End Sub

Bb157876.collapse_all(de-de,VS.110).gifThisAddIn-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 wird standardmäßig der ThisAddIn_Startup-Ereignishandler nicht immer aufgerufen, wenn das 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.

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 die CreateRibbonExtensibilityObject-Methode auch überschreiben.

Bb157876.collapse_all(de-de,VS.110).gifGrundlegendes zum Entwurf der ThisAddIn-Klasse

In Projekten, die .NET Framework 4 abzielen, ist Microsoft.Office.Tools.AddIn eine Schnittstelle.Die ThisAddIn-Klasse wird aus 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 für Office-Laufzeit um.

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.Beispielsweise können Sie 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, 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 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.

Außerdem 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.Dies ermöglicht es Ihnen, Dokumenten und Arbeitsblättern verwaltete Steuerelemente 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 Projektmappen diese Berechnungen ausfü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