Como: Percorrer todos os itens encontrados em documentos
O Find classe tem um Found propriedade, que retorna true sempre que um item para pesquisado for encontrado. Você pode fazer loop através de todas as instâncias encontradas em um Range usando o Execute método.
Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para Word 2007 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Para percorrer os itens encontrados
Declare a Range object.
O exemplo de código a seguir pode ser usado em uma personalização em nível de documento.
Dim rng As Word.Range = Me.Content
Word.Range rng = this.Content;
O exemplo de código a seguir pode ser usado em um suplemento em nível de aplicativo. Este exemplo usa o documento ativo.
Dim rng As Word.Range = Me.Application.ActiveDocument.Content
Word.Document document = this.Application.ActiveDocument; Word.Range rng = document.Content;
Use o Found propriedade em um loop para pesquisar todas as ocorrências da seqüência de caracteres do documento e incrementar uma variável integer por 1 sempre que a seqüência de caracteres for encontrada.
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); }
Exiba o número de vezes que a seqüência de caracteres foi encontrada em uma caixa de mensagem.
MessageBox.Show("Strings found: " & intFound.ToString())
MessageBox.Show("Strings found: " + intFound.ToString());
Os exemplos a seguir mostram o método complete.
Exemplo de personalização de nível de documento
Para percorrer os itens em uma personalização em nível de documento
O exemplo a seguir mostra o código completo para uma personalização em nível de documento. Para usar esse código, executá-lo do ThisDocument classe no projeto.
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()); }
Nível de aplicativo no exemplo de-
Para percorrer os itens em um suplemento em nível de aplicativo
O exemplo a seguir mostra o código completo para um suplemento em nível de aplicativo. Para usar esse código, executá-lo do ThisAddIn classe no projeto.
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()); }
Consulte também
Tarefas
Como: Pesquisa de texto em documentos
Como: Definir opções de pesquisa no Word
Como: Definir e selecionar intervalos em documentos
Como: Seleções de restauração após pesquisas