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.
Hinweis |
---|
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. |
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 InfoPath |
|
Microsoft Office Outlook |
|
Microsoft Office PowerPoint |
|
Microsoft Office Project |
Microsoft.Office.Interop.MSProject.Application |
Microsoft Office Visio |
Microsoft.Office.Interop.Visio.Application |
Microsoft Office Word |
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:
Zugreifen 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
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.
Hinweis
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.
Hinweis
Um die Benutzeroberfläche des Menübands anzupassen, können Sie die CreateRibbonExtensibilityObject-Methode auch überschreiben.
|
Grundlegendes 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