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