Procedura: scorrere in ciclo gli elementi trovati nei documenti

La classe Find dispone di una proprietà Found che restituisce true ogni volta che viene trovato un elemento di cui è stata effettuata la ricerca. È possibile scorrere in ciclo tutte le istanze trovate in un oggetto Range utilizzando il metodo Execute.

Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Word 2007 e Word 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

Per scorrere in ciclo gli elementi trovati

  1. Dichiarare un oggetto Range.

    L'esempio di codice seguente può essere utilizzato in una personalizzazione a livello di documento.

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

    L'esempio di codice seguente può essere utilizzato in un componente aggiuntivo a livello di applicazione. In questo esempio viene utilizzato il documento attivo.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Content
    
    Word.Document document = this.Application.ActiveDocument;
    Word.Range rng = document.Content;
    
  2. Utilizzare la proprietà Found in un ciclo per ricercare tutte le ricorrenze della stringa nel documento e incrementare di 1 una variabile di tipo integer ogni volta che viene trovata la stringa.

    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. Visualizzare il numero di occorrenze trovate della stringa in una finestra di messaggio.

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

Negli esempi seguenti viene illustrato il metodo completo.

Esempio di personalizzazione a livello di documento

Per scorrere in ciclo gli elementi di una personalizzazione a livello di documento

  • Nell'esempio seguente viene illustrato il codice completo di una personalizzazione a livello di documento. Per utilizzare questo codice è necessario eseguirlo dalla classe ThisDocument del progetto.

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

Esempio di componente aggiuntivo a livello di applicazione

Per scorrere in ciclo gli elementi di un componente aggiuntivo a livello di applicazione

  • Nell'esempio seguente viene illustrato il codice completo di un componente aggiuntivo a livello di applicazione. Per utilizzare questo codice è necessario eseguirlo dalla classe ThisAddIn del progetto.

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

Vedere anche

Attività

Procedura: cercare testo nei documenti

Procedura: impostare le opzioni di ricerca in Word

Procedura: definire e selezionare intervalli nei documenti

Procedura: ripristinare le selezioni dopo le ricerche

Concetti

Parametri facoltativi nelle soluzioni Office