Como: Pesquisa de texto em documentos

O Find objeto é um membro de ambos os Selection e o Range objetos e você pode usar qualquer um para procurar texto em documentos do Word de Microsoft Office. O comando replace é uma extensão do comando find. Para obter informações sobre a substituição de texto em documentos, consulte Como: Procurar e substituir texto em documentos.

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.

Usando um objeto Selection

Quando você usa um Selection de objeto para localizar texto, qualquer pesquisa critérios especificados são aplicados somente em texto selecionado no momento. Se a Selection é um ponto de inserção, e em seguida, o documento é pesquisado. Quando o item for encontrado, que coincide com os critérios de pesquisa, ela é automaticamente selecionada.

É importante observar que o Find critérios são cumulativos, o que significa que os critérios são adicionados para critérios de pesquisa anterior. Limpar a formatação de pesquisas anteriores usando o ClearFormatting método antes para a pesquisa.

Para localizar o texto usando um objeto Selection

  1. Atribua uma seqüência de pesquisa a uma variável.

    Dim findText As String = "find me"
    
    object findText = "find me";
    
  2. Limpe a formatação de pesquisas anteriores.

    Application.Selection.Find.ClearFormatting()
    
    Application.Selection.Find.ClearFormatting();
    
  3. Executar a pesquisa e exibir uma caixa de mensagem com os resultados.

    If Application.Selection.Find.Execute(findText) = True Then
        MessageBox.Show("Text found.")
    Else
        MessageBox.Show("The text could not be located.")
    End If
    
    if (Application.Selection.Find.Execute(ref findText,
        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("Text found.");
    } 
    else
    { 
        MessageBox.Show("The text could not be located.");
    } 
    

O exemplo a seguir mostra o método complete.

Private Sub SelectionFind()
    Dim findText As String = "find me"

    Application.Selection.Find.ClearFormatting()

    If Application.Selection.Find.Execute(findText) = True Then
        MessageBox.Show("Text found.")
    Else
        MessageBox.Show("The text could not be located.")
    End If
End Sub
private void SelectionFind() 
{ 
    object findText = "find me";

    Application.Selection.Find.ClearFormatting();

    if (Application.Selection.Find.Execute(ref findText,
        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("Text found.");
    } 
    else
    { 
        MessageBox.Show("The text could not be located.");
    } 
}

Usando um objeto Range

Usando um Range objeto lhe permite pesquisar texto sem exibir algo na interface de usuário. O Find retorna True se o texto for encontrado, que coincide com os critérios de pesquisa e False se ele não não. Ela também redefine o Range o objeto para coincidir com os critérios de pesquisa, se o texto for encontrado.

Para localizar o texto usando um objeto Range

  1. Definir um Range objeto que consiste no segundo parágrafo do documento.

    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.Paragraphs(2).Range
    
    Word.Range rng = this.Paragraphs[2].Range; 
    

    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.Paragraphs(2).Range
    
    Word.Document document = this.Application.ActiveDocument;
    Word.Range rng = document.Paragraphs[2].Range;
    
  2. Usando o Find propriedade da Range de objeto, primeiro desmarque as opções de formatação existentes e, em seguida, procure a string Localizar me.

    rng.Find.ClearFormatting()
    
    If rng.Find.Execute(findText) Then
    
    rng.Find.ClearFormatting();
    
    if (rng.Find.Execute(ref findText,
        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 os resultados da pesquisa em uma caixa de mensagem e, em seguida, selecione o Range para torná-la visível.

        MessageBox.Show("Text found.")
    Else
        MessageBox.Show("Text not found.")
    End If
    
    rng.Select()
    
        MessageBox.Show("Text found.");
    } 
    else 
    { 
        MessageBox.Show("Text not found.");
    } 
    
    rng.Select(); 
    

    Se a pesquisa falhar, o segundo parágrafo está selecionado. Se tiver êxito, os critérios de pesquisa são exibidos.

O exemplo a seguir mostra o código completo para uma personalização em nível de documento. Para usar esse exemplo, executa o código a partir de ThisDocument classe no projeto.

Private Sub RangeFind()
    Dim findText As String = "find me"

    Dim rng As Word.Range = Me.Paragraphs(2).Range

    rng.Find.ClearFormatting()

    If rng.Find.Execute(findText) Then
        MessageBox.Show("Text found.")
    Else
        MessageBox.Show("Text not found.")
    End If

    rng.Select()
End Sub
private void RangeFind() 
{ 
    object findText = "find me";

    Word.Range rng = this.Paragraphs[2].Range; 

    rng.Find.ClearFormatting();

    if (rng.Find.Execute(ref findText,
        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("Text found.");
    } 
    else 
    { 
        MessageBox.Show("Text not found.");
    } 

    rng.Select(); 
}

O exemplo a seguir mostra o código completo para um suplemento em nível de aplicativo. Para usar esse exemplo, executa o código a partir de ThisAddIn classe no projeto.

Private Sub RangeFind()
    Dim findText As Object = "find me"

    Dim rng As Word.Range = Me.Application.ActiveDocument.Paragraphs(2).Range

    rng.Find.ClearFormatting()

    If rng.Find.Execute(findText) Then
        MessageBox.Show("Text found.")
    Else
        MessageBox.Show("Text not found.")
    End If

    rng.Select()
End Sub
private void RangeFind()
{
    object findText = "find me";

    Word.Document document = this.Application.ActiveDocument;
    Word.Range rng = document.Paragraphs[2].Range;

    rng.Find.ClearFormatting();

    if (rng.Find.Execute(ref findText,
        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("Text found.");
    }
    else
    {
        MessageBox.Show("Text not found.");
    }

    rng.Select();
}

Consulte também

Tarefas

Como: Procurar e substituir texto em documentos

Como: Definir opções de pesquisa no Word

Como: Percorrer todos os itens encontrados em documentos

Como: Definir e selecionar intervalos em documentos

Como: Seleções de restauração após pesquisas

Conceitos

Parâmetros opcionais em soluções do Office