Übersicht über das Word-Objektmodell

Aktualisiert: Juli 2008

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

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • Word 2003

  • Word 2007

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

Um Visual Studio Tools for Office-Projektmappen für Microsoft Office Word zu entwickeln, können Sie mit dem Word-Objektmodell interagieren. Dieses Objektmodell besteht aus Klassen und Schnittstellen, die in der primären Interopassembly für Word bereitgestellt und im Microsoft.Office.Interop.Word-Namespace definiert werden.

In diesem Thema werden die folgenden Aspekte der Verwendung des Word-Objektmodells beschrieben:

  • Das Word-Objektmodell

  • Erweiterte Objekte in Visual Studio Tools for Office-Projekten

  • Verwenden der Dokumentation für das Word-Objektmodell

Informationen über die Verwendung des Word-Objektmodells für Aufgaben in Visual Studio Tools for Office-Projekten finden Sie unter den folgenden Themen:

Das Word-Objektmodell

Word stellt Hunderte von Objekten bereit, mit denen Sie interagieren können. Diese Objekte werden in einer Hierarchie organisiert, die der Benutzeroberfläche eng folgt. An der Spitze der Hierarchie befindet sich das Application-Objekt. Dieses Objekt stellt die aktuelle Instanz von Word dar. Das Application-Objekt enthält die Objekte Document, Selection, Bookmark und Range. Jedes dieser Objekte enthält zahlreiche Methoden und Eigenschaften, auf die Sie zugreifen können, um es zu bearbeiten und mit ihm zu interagieren.

Die folgende Abbildung zeigt eine Ansicht dieser Objekte in der Hierarchie des Word-Objektmodells.

Kurzdarstellung des Word-Objektmodells

Auf den ersten Blick scheint es viele Überschneidungen zu geben. Das Document-Objekt und das Selection-Objekt sind z. B. beide Member des Application-Objekts, aber das Document-Objekt ist auch ein Member des Selection-Objekts. Sowohl das Document-Objekt als auch das Selection-Objekt enthalten Bookmark-Objekte und Range-Objekte. Die Überschneidung ist darauf zurückzuführen, dass es mehrere Möglichkeiten gibt, auf denselben Objekttyp zuzugreifen. Sie wenden beispielsweise eine Formatierung auf ein Range-Objekt an, möchten aber möglicherweise auf den Bereich der aktuellen Auswahl, eines bestimmten Absatzes oder Abschnitts oder des gesamten Dokuments zugreifen.

In den folgenden Abschnitten werden die Objekte der obersten Ebene und ihr Zusammenwirken kurz beschrieben. Zu ihnen gehören die folgenden fünf Objekte:

  • Application-Objekt

  • Document-Objekt

  • Selection-Objekt

  • Range-Objekt

  • Bookmark-Objekt

Visual Studio Tools for Office erweitert auch viele dieser Objekte in Hostelemente und Hoststeuerelemente. Diese erweiterten Objekte können in Projekten auf Dokumentebene bzw. ab Visual Studio 2008 Service Pack 1 (SP1) in Projekten auf Anwendungsebene für Word 2007 verwendet werden. Hostelemente und Hoststeuerelemente bieten zusätzliche Funktionen, z. B. Datenbindungsfunktionen und Ereignisse. Weitere Informationen zu Hostelementen und Hoststeuerelementen finden Sie unter Erweiterte Objekte in Visual Studio Tools for Office-Projekten.

Application-Objekt

Das Application-Objekt stellt die Word-Anwendung dar, und es ist das übergeordnete Element aller anderen Objekte. Seine Member gelten i. d. R. für Word als Ganzes. Mithilfe seiner Eigenschaften und Methoden können Sie die Word-Umgebung steuern.

In Add-In-Projekten auf Anwendungsebene können Sie auf das Application-Objekt zugreifen, indem Sie das Application-Feld der ThisAddIn-Klasse verwenden. Weitere Informationen finden Sie unter Programmieren von Add-Ins auf Anwendungsebene.

In Projekten auf Dokumentebene können Sie auf das Application-Objekt zugreifen, indem Sie die Application-Eigenschaft der ThisDocument-Klasse verwenden.

Document-Objekt

Das Microsoft.Office.Interop.Word.Document-Objekt ist beim Programmieren von Word von zentraler Bedeutung. Es stellt ein Dokument und seinen gesamten Inhalt dar. Wenn Sie ein Dokument öffnen oder ein neues Dokument erstellen, dann erstellen Sie ein neues Microsoft.Office.Interop.Word.Document-Objekt, das zur Documents-Auflistung des Application-Objekts hinzugefügt wird. Das Dokument, das den Fokus besitzt, wird als aktives Dokument bezeichnet. Es wird durch die ActiveDocument-Eigenschaft des Application-Objekts dargestellt.

Visual Studio Tools for Office erweitert das Microsoft.Office.Interop.Word.Document-Objekt durch Bereitstellen der Microsoft.Office.Tools.Word.Document-Klasse. Diese Klasse ist ein Hostelement, mit dem Sie Zugriff auf alle Member der systemeigenen Microsoft.Office.Interop.Word.Document-Klasse erhalten, und sie fügt Ereignisse und die Fähigkeit zum Hinzufügen verwalteter Steuerelemente und Smarttags hinzu. Weitere Informationen finden Sie unter Übersicht über Hostelemente und Hoststeuerelemente.

Wenn Sie ein Projekt auf Dokumentebene erstellen, generiert Visual Studio Tools for Office eine Klasse namens ThisDocument, die von der Microsoft.Office.Tools.Word.Document-Klasse abgeleitet ist. Sie können auf Member der Microsoft.Office.Tools.Word.Document-Klasse zugreifen, indem Sie das Me-Schlüsselwort oder das this-Schlüsselwort aus Code in der ThisDocument-Klasse oder Globals.ThisDocument aus Code außerhalb der ThisDocument-Klasse verwenden. Verwenden Sie z. B. für die Auswahl des ersten Absatzes im Dokument den folgenden Code:

Me.Paragraphs(1).Range.Select()
this.Paragraphs[1].Range.Select();

Ab SP1 können Sie Microsoft.Office.Tools.Word.Document-Steuerelemente zur Laufzeit mit Add-Ins auf Anwendungsebene für Word 2007 generieren. Sie können die generierten Hostelemente verwenden, um dem verknüpften Dokument Steuerelemente und Smarttags hinzuzufügen. Weitere Informationen hierzu finden Sie unter Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit.

Selection-Objekt

Das Selection-Objekt stellt den Bereich dar, der gegenwärtig markiert ist. Wenn Sie in der Benutzeroberfläche von Word einen Vorgang ausführen, z. B. Text fett formatieren, markieren Sie zunächst den Text, d. h., Sie heben ihn hervor. Anschließend weisen Sie die Formatierung zu. Das Selection-Objekt ist in einem Dokument immer vorhanden. Wenn nichts markiert ist, stellt das Objekt die Einfügemarke dar. Außerdem kann eine Auswahl mehrere Textblöcke umfassen, die nicht zusammenhängen.

Range-Objekt

Das Range-Objekt stellt einen zusammenhängenden Bereich in einem Dokument dar. Es wird durch die Position des Anfangszeichens und die Position des Endzeichens definiert. Es besteht keine Beschränkung auf ein einziges Range-Objekt. Sie können in einem Dokument mehrere Range-Objekte definieren. Ein Range-Objekt weist folgende Merkmale auf:

  • Es kann allein aus der Einfügemarke bestehen, oder es kann einen Textbereich bzw. das gesamte Dokument umfassen.

  • Es enthält nicht druckbare Zeichen wie Leerzeichen, Tabstoppzeichen und Absatzmarken.

  • Es kann sowohl den gegenwärtig ausgewählten Bereich als auch einen Bereich außerhalb der Auswahl darstellen.

  • Anders als eine Auswahl, die immer sichtbar ist, ist es im Dokument nicht sichtbar.

  • Es wird nicht gemeinsam mit einem Dokument gespeichert und besteht nur solange, wie der Code ausgeführt wird.

Wenn Sie am Ende eines Bereichs Text einfügen, wird der Bereich von Word automatisch um den eingefügten Text erweitert.

Inhaltssteuerelementobjekte

Ein Microsoft.Office.Interop.Word.ContentControl bietet Ihnen eine Möglichkeit, die Eingabe und Darstellung von Text und anderen Inhaltstypen in Word 2007-Dokumenten zu steuern. Ein Microsoft.Office.Interop.Word.ContentControl kann mehrere unterschiedliche Benutzeroberflächentypen anzeigen, die für die Verwendung in Word-Dokumenten optimiert sind. Beispiele sind ein Rich-Text-Steuerelement, eine Datumsauswahl oder ein Kombinationsfeld. Sie können ein Microsoft.Office.Interop.Word.ContentControl auch verwenden, um das Bearbeiten von Abschnitten des Dokuments oder der Vorlage durch Benutzer zu verhindern.

Visual Studio Tools for Office erweitert das Microsoft.Office.Interop.Word.ContentControl-Objekt in mehrere unterschiedliche Hoststeuerelemente. Während das Microsoft.Office.Interop.Word.ContentControl-Objekt die unterschiedlichen Benutzeroberflächentypen anzeigen kann, die für Inhaltssteuerelemente verfügbar sind, stellt Visual Studio Tools for Office für jeden Benutzeroberflächentyp eine andere Klasse bereit. Sie können z. B. mit einem RichTextContentControl ein Richt-Text-Steuerelement oder mit einem DatePickerContentControl eine Datumsauswahl erstellen. Diese Hoststeuerelemente verhalten sich wie das systemeigene Microsoft.Office.Interop.Word.ContentControl, aber sie besitzen zusätzliche Ereignisse und Datenbindungsfunktionen.

Weitere Informationen finden Sie unter Inhaltssteuerelemente.

Bookmark-Objekt

Das Microsoft.Office.Interop.Word.Bookmark-Objekt stellt einen zusammenhängenden Bereich in einem Dokument dar, mit einer Anfangs- und einer Endposition. Mithilfe von Lesezeichen können Sie eine bestimmte Stelle in einem Dokument markieren, oder Sie können Lesezeichen als Container für Text in einem Dokument verwenden. Ein Microsoft.Office.Interop.Word.Bookmark-Objekt kann aus der Einfügemarke bestehen oder so groß wie das gesamte Dokument sein. Ein Microsoft.Office.Interop.Word.Bookmark-Objekt unterscheidet sich durch folgende Merkmale von einem Range-Objekt:

  • Das Lesezeichen können Sie zur Entwurfszeit benennen.

  • Microsoft.Office.Interop.Word.Bookmark-Objekte werden gemeinsam mit dem Dokument gespeichert. Sie bleiben also erhalten, wenn der Code nicht mehr ausgeführt oder das Dokument geschlossen wird.

  • Lesezeichen können aus- oder eingeblendet werden, indem die ShowBookmarks-Eigenschaft des View-Objekts auf false oder true festgelegt wird.

Visual Studio Tools for Office erweitert das Microsoft.Office.Interop.Word.Bookmark-Objekt in ein Hoststeuerelement. Das Microsoft.Office.Tools.Word.Bookmark-Steuerelement verhält sich wie ein systemeigenes Microsoft.Office.Interop.Word.Bookmark, verfügt aber über zusätzliche Ereignisse und Datenbindungsfunktionen. Sie können Daten genauso an ein Lesezeichen-Steuerelement in einem Dokument binden wie Daten an ein Textfeld-Steuerelement in einem Windows Form.

Weitere Informationen hierzu finden Sie unter Bookmark-Steuerelement.

Erweiterte Objekte in Visual Studio Tools for Office-Projekten

Sie sollten sich unbedingt mit den Unterschieden zwischen den systemeigenen Objekten des Word-Objektmodells und den erweiterten Objekten (Hostelementen und Hoststeuerelementen) vertraut machen, die von Visual Studio Tools for Office bereitgestellt werden. Beide Objekttypen sind in Projekten auf Dokumentebene und in Projekten auf Anwendungsebene für Word 2007 verfügbar. Weitere Informationen finden Sie unter Übersicht über Hostelemente und Hoststeuerelemente.

Die Unterschiede betreffen die folgenden vier Bereiche:

  • Entwurfszeit. Wenn Sie einer Anpassung auf Dokumentebene zur Entwurfszeit erweiterte Word-Objekte hinzufügen, werden sie automatisch als Hoststeuerelemente erstellt. Wenn Sie beispielsweise einem Dokument im Designer ein Lesezeichen hinzufügen, wird automatisch Code generiert, um das Lesezeichen zu einem Microsoft.Office.Tools.Word.Bookmark-Steuerelement zu erweitern.

  • Laufzeit. Hostelemente werden zur Laufzeit nicht automatisch erstellt. Wenn Sie Dokumente zur Laufzeit mit der Add-Methode hinzufügen, sind sie Microsoft.Office.Interop.Word.Document-Objekte und verfügen nicht über die zusätzlichen Funktionen, die Microsoft.Office.Tools.Word.Document-Hostelemente bieten. Sie können mit den von Visual Studio Tools for Office bereitgestellten Hilfsmethoden Dokumenten programmgesteuert Hoststeuerelemente hinzufügen. Weitere Informationen hierzu finden Sie unter Programmgesteuerte Einschränkungen von Hostelementen und Hoststeuerelementen.

    Hinweis:

    Ab SP1 können Sie Microsoft.Office.Tools.Word.Document-Hostelemente zur Laufzeit auch mit den Add-Ins auf Anwendungsebene für Word 2007 erstellen. Weitere Informationen finden Sie unter Erweitern von Word-Dokumenten und Excel-Arbeitsmappen in Add-Ins auf Anwendungsebene zur Laufzeit.

  • Neue Funktionen. Hostelemente und Hoststeuerelemente bieten Funktionen, die den systemeigenen Objekten nicht zur Verfügung stehen. Hostelemente können als Container für verwaltete Steuerelemente fungieren, und sie verfügen über zusätzliche Ereignisse. Hoststeuerelemente können an Daten gebunden werden und verfügen über zusätzliche Ereignisse.

  • Typen. Die systemeigenen Word-Objekte verwenden die im Microsoft.Office.Interop.Word-Namespace der primären Interopassembly für Word definierten Typen, während Hostelemente und Hoststeuerelemente die im Microsoft.Office.Tools.Word-Namespace der Visual Studio Tools for Office-Laufzeit definierten Typen verwenden.

Verwenden der Dokumentation für das Word-Objektmodell

Weitere Informationen über die Klassen, die Sie im Word-Objektmodell verwenden können, finden Sie in der folgenden Dokumentation:

Der erste Link enthält Informationen über die Klassen und die Schnittstellen in der primären Interopassembly für Word. Die anderen Links bieten Informationen zum Word-Objektmodell, wenn es für VBA (Visual Basic for Applications)-Code verfügbar gemacht wird. Jeder Dokumentationssatz hat Vorteile und Nachteile für Entwickler, die Visual Studio Tools for Office verwenden.

Referenz für die primäre Interopassembly

Diese Dokumentation beschreibt alle Typen in der primären Word-Interopassembly, die Sie in Visual Studio Tools for Office-Projekten verwenden können. Diese Dokumentation hat aber die folgenden Nachteile:

  • Sie beschreibt nur die Typen in der primären Interopassembly für Word 2003. Die Beschreibungen der neuen Typen und Member in der primären Interopassembly für Word 2007 müssen Sie in der VBA-Referenz für Word 2007 nachschlagen.

  • Sie stellt derzeit keine Codebeispiele bereit.

VBA-Referenz

Alle Objekte und Member in der VBA-Referenz entsprechen Klassen und Membern in der primären Interopassembly, die Sie in Visual Studio Tools for Office-Projekten verwenden. Zum Beispiel entspricht das Document-Objekt in der Word-VBA-Dokumentation der Microsoft.Office.Interop.Word.Document-Klasse in der primären Interopassembly.

Die VBA-Referenz hat die folgenden Vorteile:

  • Sie dokumentiert die Objektmodelle sowohl von Word 2007 als auch von Word 2003.

  • Sie stellt Codebeispiele für die meisten Member bereit.

Die VBA-Referenz hat die folgenden Nachteile:

  • Sie stellt nur Syntax und Codebeispiele für VBA bereit. Um die Codebeispiele in einem Visual Studio Tools for Office-Projekt zu verwenden, müssen Sie den VBA-Code in Visual Basic oder Visual C# übersetzen.

Zusätzliche Typen in primären Interopassemblys

Die primären Interopassemblys enthalten viele Typen, die VBA nicht zur Verfügung stehen. Diese zusätzlichen Typen helfen dabei, Objekte im COM-basierten Objektmodell von Word in verwalteten Code zu übersetzen. Sie sind nicht zur direkten Verwendung im Code gedacht.

Weitere Informationen finden Sie unter Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Siehe auch

Konzepte

Arbeiten mit Dokumenten

Arbeiten mit Text in Dokumenten

Arbeiten mit Tabellen

Übersicht über das Excel-Objektmodell

Übersicht über Hostelemente und Hoststeuerelemente

Programmgesteuerte Einschränkungen von Hostelementen und Hoststeuerelementen

Optionale Parametern in Office-Projektmappen

Referenz

Primäre Interopassemblys in Office

Weitere Ressourcen

Word-Hoststeuerelemente

Änderungsverlauf

Date

Versionsgeschichte

Grund

Juli 2008

Informationen über das Erstellen von Document-Hostelementen in Add-Ins auf Anwendungsebene hinzugefügt.

SP1-Featureänderung.