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

  1. 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); 
    
  2. 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);
    
  3. 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

Konzepte

Optionale Parameter in Office-Lösungen