Der Kern der Sache: das Document-Objekt

Word ist eine Anwendung zur Textverarbeitung und dient primär dem Erstellen und Bearbeiten von Dokumenten. Hierzu stellt die Umgebung viele Werkzeuge zur Verfügung, aber letztlich dreht sich alles um Dokumente. Es Überrascht also nicht, dass das Objektmodell ein Document-Objekt aufweist und dieses häufig in Word-Code auftaucht.

Der Makrorekorder verwendet ausschließlich das Objekt ActiveDocument (aktuell aktives Dokument). Das Problem hiermit ist, dass durch eine Handlung ein anderes Dokument als erwartet zum aktuellen (aktiven) werden könnte. Und plötzlich manipuliert der VBA-Code das falsche Dokument.

Folglich sollten Sie diesen Ausdruck in Ihrem Code möglichst durch eine Objektvariable des Typs Document ...

Get Microsoft Word Programmierung - Das Handbuch (Buch + E-Book). Für Word 2007 - 2013 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.