Gewusst wie: Programmgesteuertes Wiederherstellen der Auswahl nach Suchvorgängen
Wenn Sie in einem Dokument nach Text suchen und diesen ersetzen, empfiehlt es sich, nach Abschluss des Vorgangs die ursprünglich vom Benutzer vorgenommene Markierung wiederherzustellen.
Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und auf Anwendungsebene für Word 2013 und Word 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.
Im Code der Beispielprozedur werden zwei Range-Objekte verwendet.Das eine speichert die aktuelle Selection, und das andere legt das gesamte Dokument als Suchbereich fest.
So stellen Sie die ursprüngliche Markierung des Benutzers nach einem Suchvorgang wieder her
Erstellen Sie die Range-Objekte für das Dokument und die aktuelle Auswahl.
Dim start As Word.Range = Application.Selection.Range Dim searchArea As Word.Range = Application.ActiveDocument.Range
Word.Range start = Application.Selection.Range; Word.Range searchArea = Application.ActiveDocument.Range(ref missing, ref missing);
Führen Sie den Such- und Ersetzungsvorgang aus.
searchArea.Find.ClearFormatting() searchArea.Find.Text = "find me" searchArea.Find.Replacement.ClearFormatting() searchArea.Find.Replacement.Text = "Found" searchArea.Find.Execute(Replace:=Word.WdReplace.wdReplaceAll)
searchArea.Find.ClearFormatting(); searchArea.Find.Text = "find me"; searchArea.Find.Replacement.ClearFormatting(); searchArea.Find.Replacement.Text = "Found"; object replaceAll = Word.WdReplace.wdReplaceAll; searchArea.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref replaceAll, ref missing, ref missing, ref missing, ref missing);
Wählen Sie den Anfangsbereich aus, um die ursprüngliche Auswahl des Benutzers wiederherzustellen.
start.Select()
start.Select();
Im folgenden Beispiel wird die vollständige Methode veranschaulicht.
Beispiel
Friend Sub ReplaceRestoreSelection()
Dim start As Word.Range = Application.Selection.Range
Dim searchArea As Word.Range = Application.ActiveDocument.Range
searchArea.Find.ClearFormatting()
searchArea.Find.Text = "find me"
searchArea.Find.Replacement.ClearFormatting()
searchArea.Find.Replacement.Text = "Found"
searchArea.Find.Execute(Replace:=Word.WdReplace.wdReplaceAll)
start.Select()
End Sub
internal void ReplaceRestoreSelection()
{
Word.Range start = Application.Selection.Range;
Word.Range searchArea = Application.ActiveDocument.Range(ref missing, ref missing);
searchArea.Find.ClearFormatting();
searchArea.Find.Text = "find me";
searchArea.Find.Replacement.ClearFormatting();
searchArea.Find.Replacement.Text = "Found";
object replaceAll = Word.WdReplace.wdReplaceAll;
searchArea.Find.Execute(
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref replaceAll, ref missing, ref missing, ref missing, ref missing);
start.Select();
}
Siehe auch
Aufgaben
Gewusst wie: Programmgesteuertes Suchen und Ersetzen von Text in Dokumenten
Gewusst wie: Programmgesteuertes Festlegen von Suchoptionen in Word
Gewusst wie: Programmgesteuertes Durchlaufen gefundener Elemente in Dokumenten