Suchen und Ersetzen von Text oder Formatierung

Suchen und Ersetzen wird durch die Find - und Replacement-Objekte verfügbar gemacht. The Find object is available from the Selection object and the Range object. The find action differs slightly depending upon whether you access the Find object from the Selection object or the Range object.

Suchen und Ersetzen von Text

Wenn vom Selection-Objekt aus auf das Find-Objekt zugegriffen und das Suchkriterium gefunden wird, wird die Markierung geändert. Im folgenden Beispiel wird das nächste Vorkommen des Worts "Hello" ausgewählt. Wenn das Ende des Dokuments erreicht ist, bevor das Wort "Hello" gefunden wird, wird die Suche beendet.

With Selection.Find 
 .Forward = True 
 .Wrap = wdFindStop 
 .Text = "Hello" 
 .Execute 
End With

Das Find-Objekt enthält Eigenschaften, die sich auf die Optionen im Dialogfeld Suchen und Ersetzen beziehen. Sie können die einzelnen Eigenschaften des Find -Objekts festlegen oder bei der Execute -Methode Argumente verwenden, wie im folgenden Beispiel zu sehen ist.

Selection.Find.Execute FindText:="Hello", _ 
 Forward:=True, Wrap:=wdFindStop

Suchen von Text, ohne die Markierung zu ändern

Wenn von einem Range-Objekt aus auf das Find-Objekt zugegriffen wird, wird die Auswahl nicht geändert, aber der Bereich wird neu definiert, wenn die Suchkriterien gefunden werden. Das folgende Beispiel sucht das nächste Auftreten des Worts "blue" im aktiven Dokument. Wenn der Suchvorgang erfolgreich ist, wird der Bereich neu definiert, und die Fettformatierung wird auf das Wort "blau" angewendet.

With ActiveDocument.Content.Find 
 .Text = "blue" 
 .Forward = True 
 .Execute 
 If .Found = True Then .Parent.Bold = True 
End With

Im folgenden Beispiel wird mithilfe von Argumenten der Execute-Methode dasselbe Ergebnis erzielt wie im vorherigen Beispiel.

Set myRange = ActiveDocument.Content 
myRange.Find.Execute FindText:="blue", Forward:=True 
If myRange.Find.Found = True Then myRange.Bold = True

Verwenden des Replacement-Objekts

Das Replacement-Objekt stellt die Ersetzungskriterien für eine Operation zum Suchen und Ersetzen dar. Die Eigenschaften und Methoden des Replacement-Objekts entsprechen den Optionen im Dialogfeld Suchen und ersetzen im Menü Bearbeiten.

Das Replacement-Objekt steht vom Find-Objekt aus zur Verfügung. Im folgenden Beispiel wird jedes Vorkommen des Worts "hi" durch "hello" ersetzt. Da vom Selection -Objekt aus auf das Find -Objekt zugegriffen wird, ändert sich die Markierung, wenn die Suchkriterien gefunden werden.

With Selection.Find 
 .ClearFormatting 
 .Text = "hi" 
 .Replacement.ClearFormatting 
 .Replacement.Text = "hello" 
 .Execute Replace:=wdReplaceAll, Forward:=True, _ 
 Wrap:=wdFindContinue 
End With

The following example removes bold formatting in the active document. Die Bold-Eigenschaftist true für das Find-Objekt und False für das Replacement-Objekt . Legen Sie zum Suchen und Ersetzen von Formatierungen den Text suchen und ersetzen auf leere Zeichenfolgen ("") und das Format-Argument der Execute-Methode auf True fest. The selection remains unchanged because the Find object is accessed from a Range object (the Content property returns a Range object).

With ActiveDocument.Content.Find 
 .ClearFormatting 
 .Font.Bold = True 
 With .Replacement 
 .ClearFormatting 
 .Font.Bold = False 
 End With 
 .Execute FindText:="", ReplaceWith:="", _ 
 Format:=True, Replace:=wdReplaceAll 
End With

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.