VBA für MS Word

Das MS Word-Objektmodell: Zugriff auf Zeichen, Wörter und Sätze

∅ 2.7 / 3 Bewertungen

Zugriff auf Zeichen, Wörter und Sätze

Auf dieser Seite

Wie kann ich auf Zeichen, Wörter und Textbereiche zugreifen? Wie kann ich Textbereiche markieren?

10575_16578_zeichenzugriff-gif

Welche Range-Methode verweist auf welchen Bereich?

Um das Dokument mit Makros zu bearbeiten oder zu formatieren, benötigt man Objekte der Klasse Range. Diese stellen immer einen Bereich des Dokuments dar. Range-Objekte werden mit der Methode Range erstellt.

Set Bereich = Dokument.Range (StartPos, EndPos)

Diese Syntax liefert den Bereich vom Zeichen Nummer StartPos bis zum Zeichen Nummer EndPos (ausschließlich) des Haupttextes des angegebenen Dokuments. Die Zeichen beginnen mit 0 zu zählen. Sind StartPos und EndPos gleich, so wird ein Bereich genau zwischen zwei Zeichen ausgewählt. Range ohne Parameter liefert übrigens den gesamten Inhalt des Dokuments zurück und ist identisch mit Content.

Ein Range-Objekt kann aber auch auf Basis von Auflistungen erstellt werden. Meist werden dazu die Auflistungen Sentences (Sätze), Words (Wörter) und Characters (Zeichen) eines Document-Objekts verwendet. So verweist beispielsweise ActiveDocument.Sentences(1) auf den ersten Satz des aktiven Dokuments.

Die Auflistungen Sentences, Words und Characters existieren aber auch innerhalb von Range-Objekten.

Beispiel: ActiveDocument.Sentences(2).Words(1) verweist auf das erste Wort im zweiten Satz des aktiven Dokuments.

Da es sich dabei um ganz normale Auflistungen handelt, kann auf sie auch die Eigenschaft Count angewendet werden. So gibt z. B. ActiveDocument.Words.Count die Anzahl der Wörter im aktiven Dokument zurück.

Beachten Sie bitte, dass ein Verweis auf einen Bereich diesen nicht auswählt. Wollen Sie diesen auswählen, dann müssen Sie darauf zusätzlich die Methode Select anwenden.