VBA für MS Word
Das MS Word-Objektmodell: Zugriff auf Zeichen, Wörter und Sätze
Zugriff auf Zeichen, Wörter und Sätze
Auf dieser Seite
Mit Bild
Wie kann ich auf Zeichen, Wörter und Textbereiche zugreifen? Wie kann ich Textbereiche markieren?
Mit Bild
Welche Range-Methode verweist auf welchen Bereich?
Mit Bild
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.
Mit Bild
Set Bereich = Dokument.Range (StartPos, EndPos)
Mit Bild
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.
Mit Bild
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.
Mit Bild
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.
Mit Bild
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.