Hallo allerseits
Eine Schleife kann in etwa wie folgt aussehen (angenommen, es soll nach der Zeichenfolge tamtam gesucht werden). Das Beispiel berücksichtigt den Hauptteil des Dokumentes:
With ActiveDocument.Range.Find
.ClearFormatting
.Text = „tamtam“
.Execute
While .Found = True
MsgBox „Hurra schon wieder ein Treffer!“
.Execute
Wend
End With
Im nächsten Beispiel sollen alle Zeilen, welche die Zeichenfolge tamtam enthalten gelöscht werden. Dazu ist zu sagen, dass die Fragestellung unglücklich ist, der Begriff Zeile ist nämlich bezogen auf MS Word überhaupt nicht eindeutig:
Verwechselbare Begriffe in MS Word
http://mypage.bluewin.ch/reprobst/WordFAQ/Begriffe.h…
Nun also präziser:
Alle Absätze , welche die Zeichenfolge tamtam enthalten, sollen gelöscht werden:
With ActiveDocument.Range.Find
.ClearFormatting
.Text = „tamtam“
.Exexute
While .Found = True
.Parent.Paragraphs(1).Range.Delete
.Execute
Wend
End With
Etwas ungeschickter, sollten diese sogenannten „Zeilen“ nicht mit einer Absatzmarke, sondern mit einer manuellen Zeilenumschaltung enden. Dann könnte der Code etwa wie folgt aussehen:
With ActiveDocument.Range.Find
.ClearFormatting
.Text = „tamtam“
.Execute
While .Found = True
.Parent.Bookmarks("\Line").Range.Delete
.Execute
Wend
End With
Weitere Beispiele zum Find -Objekt finden sich unter:
http://mypage.bluewin.ch/reprobst/WordFAQ/Range.htm#…
Im Gegensatz zu den Beispielen hier, sind die Beispiele im Skript getestet. Ich kann jetzt nicht testen, da ich hier unter Linux arbeite und MS Office nicht unter Linux läuft.
Das Ganze wäre allerdings auch ohne Find-Objekt zu lösen, nämlich in dem man die Sammlung aller Absätze durchgeht, wenn es sich dann um Absätze handelt.
Etwas anders, wenn die Zeilen auf einem manuellen Zeilenunbruch enden. Das Objekt Zeile gibt es gar nicht im Word-Objekt-Modell und somit auch keine Sammlung, welche man aberbeiten kann. Allerdings gibt es eine Umgehung dazu.
Der Umgang mit Zeilen und Absätzen ist Thema des folgendesn Skriptest:
http://mypage.bluewin.ch/reprobst/WordFAQ/ZS.htm
Gruss
Silvia Widmer