Gewusst wie: Programmgesteuertes Durchlaufen gefundener Elemente in Dokumenten

Die Find-Klasse verfügt über eine Found-Eigenschaft, die jedes Mal true zurückgibt, wenn ein gesuchtes Element gefunden wird.Sie können alle in einer Range gefundenen Instanzen durchlaufen, indem Sie die Execute-Methode verwenden.

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.

So durchlaufen Sie gefundene Elemente

  1. Deklarieren Sie ein Range-Objekt.

    Das folgende Codebeispiel kann in einer Anpassung auf Dokumentebene verwendet werden.

    Dim rng As Word.Range = Me.Content
    
    Word.Range rng = this.Content; 
    

    Das folgende Codebeispiel kann in einem Add-In auf Anwendungsebene verwendet werden.In diesem Beispiel wird das aktive Dokument verwendet.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Content
    
    Word.Document document = this.Application.ActiveDocument;
    Word.Range rng = document.Content;
    
  2. Verwenden Sie die Found-Eigenschaft in einer Schleife, um nach allen Fundstellen der Zeichenfolge im Dokument zu suchen, und erhöhen Sie bei jeder Fundstelle eine ganzzahlige Variable um 1.

    rng.Find.ClearFormatting()
    rng.Find.Forward = True
    rng.Find.Text = "find me"
    
    rng.Find.Execute()
    
    Do While rng.Find.Found = True
        intFound += 1
        rng.Find.Execute()
    Loop
    
    rng.Find.ClearFormatting(); 
    rng.Find.Forward = true; 
    rng.Find.Text = "find me"; 
    
    rng.Find.Execute(
        ref missing, ref missing, ref missing, ref missing, ref missing, 
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing);
    
    while (rng.Find.Found) 
    { 
        intFound++;
        rng.Find.Execute(
            ref missing, ref missing, ref missing, ref missing, ref missing, 
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing);
    } 
    
  3. Zeigen Sie in einem Meldungsfeld an, wie oft die Zeichenfolge gefunden wurde.

    MessageBox.Show("Strings found: " & intFound.ToString())
    
    MessageBox.Show("Strings found: " + intFound.ToString()); 
    

In den folgenden Beispielen wird die vollständige Methode veranschaulicht.

Beispiel für die Anpassung auf Dokumentebene

So durchlaufen Sie Elemente in einer Anpassung auf Dokumentebene

  • Im folgenden Beispiel wird der vollständige Code für eine Anpassung auf Dokumentebene gezeigt.Wenn Sie diesen Code verwenden möchten, führen Sie ihn von der ThisDocument-Klasse im Projekt aus.

    Private Sub FindLoop()
        Dim intFound As Integer = 0
        Dim rng As Word.Range = Me.Content
    
        rng.Find.ClearFormatting()
        rng.Find.Forward = True
        rng.Find.Text = "find me"
    
        rng.Find.Execute()
    
        Do While rng.Find.Found = True
            intFound += 1
            rng.Find.Execute()
        Loop
    
        MessageBox.Show("Strings found: " & intFound.ToString())
    End Sub
    
    private void FindLoop() 
    { 
        int intFound = 0; 
        Word.Range rng = this.Content; 
    
        rng.Find.ClearFormatting(); 
        rng.Find.Forward = true; 
        rng.Find.Text = "find me"; 
    
        rng.Find.Execute(
            ref missing, ref missing, ref missing, ref missing, ref missing, 
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing);
    
        while (rng.Find.Found) 
        { 
            intFound++;
            rng.Find.Execute(
                ref missing, ref missing, ref missing, ref missing, ref missing, 
                ref missing, ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing, ref missing);
        } 
    
        MessageBox.Show("Strings found: " + intFound.ToString()); 
    }
    

Beispiel für Add-Ins auf Anwendungsebene

So durchlaufen Sie Elemente in einem Add-In auf Anwendungsebene

  • Im folgenden Beispiel wird der vollständige Code für ein Add-In auf Anwendungsebene gezeigt.Wenn Sie diesen Code verwenden möchten, führen Sie ihn von der ThisAddIn-Klasse im Projekt aus.

    Private Sub FindLoop()
        Dim intFound As Integer = 0
        Dim rng As Word.Range = Me.Application.ActiveDocument.Content
    
        rng.Find.ClearFormatting()
        rng.Find.Forward = True
        rng.Find.Text = "find me"
    
        rng.Find.Execute()
    
        Do While rng.Find.Found = True
            intFound += 1
            rng.Find.Execute()
        Loop
    
        MessageBox.Show("Strings found: " & intFound.ToString())
    End Sub
    
    private void FindLoop()
    {
        int intFound = 0;
        Word.Document document = this.Application.ActiveDocument;
        Word.Range rng = document.Content;
    
        rng.Find.ClearFormatting();
        rng.Find.Forward = true;
        rng.Find.Text = "find me";
    
        rng.Find.Execute(
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing,
            ref missing, ref missing, ref missing, ref missing, ref missing);
    
        while (rng.Find.Found)
        {
            intFound++;
            rng.Find.Execute(
                ref missing, ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing, ref missing,
                ref missing, ref missing, ref missing, ref missing, ref missing);
        }
    
        MessageBox.Show("Strings found: " + intFound.ToString());
    }
    

Siehe auch

Aufgaben

Gewusst wie: Programmgesteuertes Suchen und Ersetzen von Text in Dokumenten

Gewusst wie: Programmgesteuertes Festlegen von Suchoptionen in Word

Gewusst wie: Programmgesteuertes Definieren und Markieren von Bereichen in Dokumenten

Gewusst wie: Programmgesteuertes Wiederherstellen der Auswahl nach Suchvorgängen

Konzepte

Optionale Parameter in Office-Lösungen