Porady: Programowane przechodzenie w pętli poprzez znalezione elementy w dokumentach

Find Klasa ma Found właściwość, która zwraca true gdy zostanie znaleziony element poszukiwane.Można w pętli przez wszystkie wystąpienia w Range za pomocą Execute metoda.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu i aplikacji obsługiwanych w programach Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

Pętli znalezionych elementów

  1. Stwierdzenie Range obiektu.

    Poniższy przykład kodu służy dostosowywania poziomie dokumentu.

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

    Poniższy przykład kodu, można w poziomie aplikacji dodatek.W tym przykładzie użyto aktywnego dokumentu.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Content
    
    Word.Document document = this.Application.ActiveDocument;
    Word.Range rng = document.Content;
    
  2. Użycie Found właściwość w pętli, aby wyszukać wszystkie wystąpienia ciągu w dokumencie i zwiększyć zmienną liczbę całkowitą o 1 przy każdym ciąg zostanie znaleziony.

    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. Wyświetla liczbę razy ciąg został odnaleziony w oknie komunikatu.

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

Następujące przykłady przedstawiają metody kompletny.

Przykład dostosowywania poziomie dokumentu

Pętli elementów dostosowania poziomu dokumentu

  • Kompletny kod dla dostosowania poziomu dokumentu można znaleźć w poniższym przykładzie.Aby użyć tego kodu, należy uruchomić go z ThisDocument klasy do projektu.

    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()); 
    }
    

Poziom aplikacji dodatek przykład

Do przeglądania elementów w poziomie aplikacji dodatek

  • Kompletny kod dla dodatku poziomie aplikacji można znaleźć w poniższym przykładzie.Aby użyć tego kodu, należy uruchomić go z ThisAddIn klasy do projektu.

    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());
    }
    

Zobacz też

Zadania

Porady: Programowane wyszukiwanie i zastępowanie tekstu w dokumentach

Porady: Programowane ustawianie opcji wyszukiwania w programie Word

Porady: Programowane definiowanie i zaznaczanie zakresów w dokumentach

Porady: Programowane przywracanie zaznaczenia po wyszukiwaniu

Koncepcje

Parametry opcjonalne w rozwiązaniach Office