Como: Loop através de itens localizados em documentos

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de documento

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • Word 2003

  • Word 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

A classe Find tem uma propriedade de Found , que retorna true sempre que um item-procurado é encontrado.Você pode fazer loop através de Tudo as instâncias encontradas em um Range usando o Execute méTudo.

Para fazer o loop nos itens encontrados

  1. Declare um objeto Range.

    O exemplo de código a seguir pode ser usado em uma personalização de 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 nível de aplicativo Adicionar - in.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;
    
  2. Use a propriedade Found em um loop parPesquisarrr por Tudo as ocorrências da Cadeia de Caracteres no documento e incrementar uma variável de inteiro por 1 sempre que a Cadeia 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);
    } 
    
  3. Exibir o número de vezes que a cadeia 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 Concluir método.

Exemplo de personalização de nível de documento

Para Loop nos itens de uma personalização de nível de documento

  • O exemplo a seguir mostra o códigConcluir para uma personalização de nível de documento.Para usar esse código, execute-de a classe ThisDocument no seu 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 Adicionar - exemplo

Para repetir itens em um nível de aplicativo Adicionar - in

  • O exemplo a seguir mostra o códigConcluir para um aplicativo-nível Adicionar - in.Para usar esse código, execute-de a classe ThisAddIn no seu 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: Pesquisar para texto em documentos

Como: Definir opções de Pesquisarr no Word

Como: Definir e selecionar intervalos em documentos

Como: Restaurar seleções após pesquisas

Conceitos

Noções básicas sobre parâmetros opcionais in Office Solutions