Sdílet prostřednictvím


Procházení nalezených položek v dokumentech prostřednictvím kódu programu

Třída FindFound vlastnost, která vrací hodnotu true vždy, když je nalezena hledaná položka. Můžete procházet všechny instance nalezené Range v metodě Execute .

Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO pro Word. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.

Procházení nalezených položek

  1. Deklarujte Range objekt.

    Následující příklad kódu lze použít v přizpůsobení na úrovni dokumentu.

    Word.Range rng = this.Content;
    

    Následující příklad kódu lze použít v doplňku VSTO. Tento příklad používá aktivní dokument.

    Word.Document document = this.Application.ActiveDocument;
    Word.Range rng = document.Content;
    
  2. Found Pomocí vlastnosti ve smyčce můžete vyhledat všechny výskyty řetězce v dokumentu a zvýšit celočíselnou proměnnou o 1 pokaždé, když se řetězec najde.

    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. Zobrazí počet nalezených řetězců v poli se zprávou.

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

    Následující příklady ukazují úplnou metodu.

Příklad přizpůsobení na úrovni dokumentu

Procházení položek v přizpůsobení na úrovni dokumentu

  1. Následující příklad ukazuje úplný kód pro přizpůsobení na úrovni dokumentu. Pokud chcete tento kód použít, spusťte ho ThisDocument z třídy v projektu.

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

Příklad doplňku VSTO

Procházení položek v doplňku VSTO

  1. Následující příklad ukazuje úplný kód doplňku VSTO. Pokud chcete tento kód použít, spusťte ho ThisAddIn z třídy v projektu.

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