Programmieren von Anpassungen auf Dokumentebene

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

Microsoft Office-Version

  • 2007 Microsoft Office System

  • Microsoft Office 2003

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Wenn Sie Microsoft Office Word oder Microsoft Office Excel mit einer Anpassung auf Dokumentebene erweitern, können Sie die folgenden Aufgaben ausführen:

  • Sie können die Microsoft Office-Anwendung automatisieren, indem Sie das Objektmodell der Anwendung verwenden.

  • Sie können der Oberfläche des Dokuments Steuerelemente hinzufügen.

  • Sie können VBA (Visual Basic for Applications)-Code im Dokument von der Anpassungsassembly aufrufen.

  • Sie können Code in der Anpassungsassembly von VBA aufrufen.

  • Sie können bestimmte Aspekte des Dokuments verwalten, während es sich auf einem Server ohne Microsoft Office befindet.

  • Sie können die Benutzeroberfläche der Anwendung anpassen.

Allgemeine Informationen zu Anpassungen auf Anwendungsebene und anderen Typen von Projektmappen, die Sie mit Visual Studio Tools for Office erstellen können, finden Sie unter Übersicht über die Entwicklung von Office-Projektmappen.

Schreiben von Code in Projekten auf Dokumentebene

Beim Erstellen eines Projekts auf Dokumentebene generiert Visual Studio Tools for Office automatisch eine Klasse im Projekt, die Sie zum Schreiben von Code verwenden können. Visual Studio Tools for Office generiert unterschiedliche Klassen für Word und Excel:

  • In Projekten auf Dokumentebene für Word wird die Klasse standardmäßig als ThisDocument bezeichnet.

  • Projekte auf Dokumentebene für Excel verfügen über mehrere generierte Klassen: eine für die Arbeitsmappe und eine für jedes Arbeitsblatt. Standardmäßig lauten die Namen dieser Klassen folgendermaßen:

    • ThisWorkbook

    • Sheet1

    • Sheet2

    • Sheet3

Die generierte Klasse umfasst Ereignishandler, die aufgerufen werden, wenn das Dokument geöffnet oder geschlossen wird. Wenn Code beim Öffnen des Dokuments ausgeführt werden soll, fügen Sie dem Startup-Ereignishandler Code hinzu. Wenn Code direkt vor dem Schließen des Dokuments ausgeführt werden soll, fügen Sie dem Shutdown-Ereignishandler Code hinzu. Weitere Informationen hierzu finden Sie unter Visual Studio Tools for Office-Projektereignisse.

Jede automatisch generierte Klasse in einem Projekt auf Dokumentebene wird von einer Visual Studio Tools for Office-Klasse abgeleitet, die Hostelement genannt wird. Die ThisDocument-Klasse in einem Word-Projekt wird beispielsweise vom Microsoft.Office.Tools.Word.Document-Hostelement abgeleitet. Weitere Informationen finden Sie unter Übersicht über Hostelemente und Hoststeuerelemente.

Zugreifen auf das Objektmodell der Hostanwendung

Wenn Sie auf das Objektmodell der Hostanwendung zugreifen möchten, verwenden Sie Member der generierten Klasse im Projekt. Jede dieser Klassen entspricht einer Klasse im Objektmodel von Excel oder Word, und sie enthalten einen Großteil derselben Eigenschaften, Methoden und Ereignisse. Die ThisDocument-Klasse in einem Projekt auf Dokumentebene für Word stellt beispielsweise einen Großteil derselben Member wie die Microsoft.Office.Interop.Word.Document-Klasse im Word-Objektmodell bereit.

Im folgenden Codebeispiel wird gezeigt, wie Sie mithilfe des Word-Objektmodells das Dokument speichern, das Teil der Anpassung auf Dokumentebene ist. Dieses Beispiel soll in der ThisDocument-Klasse ausgeführt werden.

Me.Save()
this.Save();

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

Diesen Code können Sie beispielsweise einer Codedatei eines Aktionsbereichs hinzufügen, wenn Sie eine Schaltfläche Speichern in die Benutzeroberfläche des Aktionsbereichs einschließen möchten.

Globals.ThisDocument.Save()
Globals.ThisDocument.Save();

Da die ThisDocument-Klasse vom Microsoft.Office.Tools.Word.Document-Hostelement abgeleitet ist, handelt es sich bei der in diesem Code aufgerufenen Save-Methode tatsächlich um die Save-Methode des Microsoft.Office.Tools.Word.Document-Hostelements. Diese Methode entspricht der Save-Methode der Microsoft.Office.Interop.Word.Document-Klasse im Word-Objektmodell.

Weitere Informationen über das Verwenden der Objektmodelle von Word und Excel finden Sie unter Übersicht über das Word-Objektmodell und unter Übersicht über das Excel-Objektmodell

Hinzufügen von Steuerelementen zu Dokumenten

Zum Anpassen der Benutzeroberfläche des Dokuments können Sie Windows Forms-Steuerelemente oder Hoststeuerelemente zur Dokumentoberfläche hinzufügen. Sie können Steuerelemente an Daten binden, Informationen vom Benutzer sammeln und auf Benutzeraktionen reagieren, indem Sie verschiedene Gruppen von Steuerelementen kombinieren und Code schreiben.

Hoststeuerelemente sind Klassen, die im Word-Objektmodell und im Excel-Objektmodell einige der Objekte erweitern. Zum Beispiel stellt das Microsoft.Office.Tools.Excel.ListObject-Hoststeuerelement alle Funktionen des Microsoft.Office.Interop.Excel.ListObject-Elements in Excel zur Verfügung. Das Microsoft.Office.Tools.Excel.ListObject-Hoststeuerelement verfügt jedoch auch über zusätzliche Ereignisse und Datenbindungsfähigkeiten.

Weitere Informationen finden Sie unter Übersicht über Hostelemente und Hoststeuerelemente und unter Übersicht über Windows Forms-Steuerelemente in Office-Dokumenten.

Kombinieren von VBA und Anpassungen auf Dokumentebene

Sie können VBA-Code in einem Dokument verwenden, das Teil einer Visual Studio Tools for Office-Anpassung auf Dokumentebene ist. In allen Projekten auf Dokumentebene können Sie VBA-Code im Dokument von der Anpassungsassembly aus aufrufen. In Projekten auf Dokumentebene für 2007 Microsoft Office System können Sie das Projekt außerdem so konfigurieren, dass VBA-Code in dem Dokument Code in der Anpassungsassembly aufrufen kann.

Weitere Informationen finden Sie unter Kombinieren von VBA und Anpassungen auf Dokumentebene.

Verwalten von Dokumenten auf einem Server

Sie können verschiedene Aspekte von Anpassungen auf Dokumentebene auf einem Server verwalten, auf dem Microsoft Office Word oder Microsoft Office Excel nicht installiert ist. Zum Beispiel können Sie auf Daten im Datencache des Dokuments zugreifen und diese ändern. Sie können auch die Visual Studio Tools for Office-Anpassungsassembly verwalten, die dem Dokument zugeordnet ist. So können Sie beispielsweise die Assembly programmgesteuert aus dem Dokument entfernen, sodass das Dokument den Code nicht mehr ausführt, oder Sie können eine Assembly programmgesteuert an ein Dokument anfügen.

Weitere Informationen finden Sie unter Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse.

Anpassen der Benutzeroberfläche von Microsoft Office-Anwendungen

Sie können die Benutzeroberfläche von Word und Excel anpassen, indem Sie eine Anpassung auf Dokumentebene verwenden.

Beide Versionen von Microsoft Office: 2007 und 2003

Für Microsoft Office 2003 und 2007 Microsoft Office System können Sie die Benutzeroberfläche folgendermaßen anpassen:

Die Version 2007

Für Word 2007 und Excel 2007 können Sie die Benutzeroberfläche auch folgendermaßen anpassen:

Die Version 2003

Für Word 2003 und Excel 2003 können Sie die Benutzeroberfläche auch folgendermaßen anpassen:

Weitere Informationen über das Anpassen der Benutzeroberfläche von Microsoft Office-Anwendungen finden Sie unter Anpassung der Office-Benutzeroberfläche.

Siehe auch

Aufgaben

Gewusst wie: Erstellen und Ändern von benutzerdefinierten Dokumenteigenschaften

Gewusst wie: Lesen von und Schreiben in Dokumenteigenschaften

Konzepte

Kombinieren von VBA und Anpassungen auf Dokumentebene

Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse

Abrufen von erweiterten Objekten aus systemeigenen Office-Objekten in Anpassungen auf Dokumentebene

Weitere Ressourcen

Steuerelemente für Office-Dokumente