Procedura: scorrere in ciclo gli elementi trovati nei documenti
Aggiornamento: novembre 2007
Si applica a |
---|
Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati. Tipo di progetto
Versione Microsoft Office
Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione. |
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.
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: recuperare le selezioni dopo le ricerche
Concetti
Informazioni sui parametri facoltativi nelle soluzioni Office