Zugreifen auf Absätze in einem Makro (Microsoft Word)
Eines der raffinierten Dinge beim Programmieren von VBA-Makros ist, dass die Sprache objektorientiert ist. Dies bedeutet, dass Sie mit Objekten und Sammlungen von Objekten auf jeden Teil Ihres Dokuments zugreifen können. Mit anderen Worten, Sie können Absätze bearbeiten, ohne sie jemals auswählen zu müssen.
Angenommen, Sie möchten nacheinander auf jeden Absatz eines Dokuments zugreifen und den Text in diesem Absatz bearbeiten.
Da jeder Absatz ein bestimmtes Objekt im Dokument ist, ist dies relativ einfach. Alle Absatzobjekte sind als Teil der Absatzsammlung zugänglich. Der folgende Code reicht aus:
iParCount = ActiveDocument.Paragraphs.Count For J = 1 To iParCount sMyPar = ActiveDocument.Paragraphs(J).Range.Text [Add processing comments to manipulate sMyPar] ActiveDocument.Paragraphs(J).Range.Text = sMyPar Next J
In der ersten Zeile des Codes wird iParCount gleich der Anzahl der Absätze im aktuellen Dokument festgelegt. Die Schleife, die in der zweiten Zeile beginnt, erledigt dann die Hauptarbeit im Makro. In der dritten Zeile wird die sMyPar-Zeichenfolge gleich dem Text innerhalb des angegebenen Absatzes gesetzt. (Wenn J gleich 1 ist, arbeiten Sie mit dem ersten Absatz. Wenn J gleich 2 ist, ist es der zweite Absatz – und so weiter.)
Nachdem die Verarbeitung von sMyPar abgeschlossen ist, wird in der nächsten Zeile der Dokumenttext dem geänderten Text in der sMyPar-Zeichenfolge gleichgesetzt.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (823) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: