Das MS Word-Objektmodell
Arbeiten mit Textmarken
Wie kann ich Textmarken mit Makros hinzufügen? Wie kann ich auf das Range-Objekt, das eine Textmarke umfasst, zugreifen?
Textmarken, manchmal auch Lesezeichen oder Bookmarks genannt, sind eine einfache und elegante Möglichkeit, in Makros bestimmte Textstellen zu bearbeiten. So kann ein Makro z.B. den Ort einer bestimmten Textstelle durch eine Textmarke dauerhaft markieren. Umgekehrt fällt es leicht, mit Hilfe von Textmarken in einem Makro bestimmte Stellen im Dokument zu selektieren und zu verändern.
So können Lesezeichen verwendet werden
Jedes Dokument besitzt die Auflistung Bookmarks, die alle Textmarken enthält. Um eine neue Textmarke zu erstellen, wendet man die Methode Add auf diese Auflistung an. Der erste Parameter dieser Methode ist dabei der Name des neuen Lesezeichens, der zweite Parameter ein Range-Objekt. Dieses Range-Objekt wird dann mit der Textmarke versehen.
Um umgekehrt wieder das Range-Objekt zu erhalten, das die Textmarke umgibt, verwendet man die Range-Eigenschaft des Bookmark-Objekts.
Achtung: Wird der Text dieses Range-Objekts geändert, so wird dadurch auch die Textmarke gelöscht. Um das zu verhindern, muss man die Textmarke unmittelbar danach sofort wieder erstellen, z. B.:
Set rngAdresse = ActiveDocument.Bookmarks!Adresse
rngAdresse.Text = "Bergengasse 4/2/2"
rngAdresse.InsertParagraphAfter
rngAdresse.InsertAfter "1220 Wien"
ActiveDocument.Bookmarks.Add "Adresse", rngAdresse
Ein Bookmark-Objekt kann aber auch unter Anwendung der Delete-Methode gelöscht werden.
Bevor Sie auf eine Textmarke im Code verweisen, sollten Sie überprüfen, ob diese im Dokument überhaupt existiert. Dazu können Sie die Exists-Methode der Bookmarks-Auflistung verwenden. ActiveDocu-ment.Bookmarkts.Exists("Adresse") gibt z. B. True zurück, wenn die Textmarke "Adresse" im aktiven Dokument existiert.
Dies ist eine Leseprobe
Möchten Sie den Beitrag komplett lesen? Dann werden Sie Probemitglied und testen Sie akademie.de 14 Tage kostenlos!
Auf VBA für MS Word erfahren Sie mehr über diesen Beitrag und die weiteren Leseproben.
Weitere Informationen finden Sie auf unserer Infoseite zur Mitgliedschaft und in unseren AGB.
Ich bin bereits Mitglied