Localizando e substituindo texto ou formatação

Localizando e substituindo é exposta pelos objetos Localizar e substituição. O objeto Find está disponível do objeto Selection e o objeto de intervalo. A ação de localizar difere ligeiramente dependendo se você acessa o objeto Find do objeto Selection ou o objeto Range.

Localizar texto e selecioná-lo

Se o objeto Find for acessado a partir do objeto Selection, a seleção será alterada quando o critério de localização for encontrado. O exemplo a seguir seleciona a próxima ocorrência da palavra "Hello". Se o final do documento for atingido antes da palavra "Hello" ser localizada, a pesquisa será suspensa.

With Selection.Find 
 .Forward = True 
 .Wrap = wdFindStop 
 .Text = "Hello" 
 .Execute 
End With

O objeto Find inclui propriedades relacionadas às opções da caixa de diálogo Localizar e substituir. Você pode definir as propriedades individuais do objeto Find ou usar argumentos com o método Execute, conforme mostrado no exemplo a seguir.

Selection.Find.Execute FindText:="Hello", _ 
 Forward:=True, Wrap:=wdFindStop

Localizar texto sem alterar a seleção

Se o objeto Find for acessado a partir de um objeto Range, a seleção não será alterada, mas o Range será redefinido quando o critério de localização for encontrado. O exemplo a seguir localiza a primeira ocorrência da palavra "blue" no documento ativo. Se a operação de localização for bem sucedida, o intervalo será redefinido e será aplicada formatação com negrito à palavra "blue".

With ActiveDocument.Content.Find 
 .Text = "blue" 
 .Forward = True 
 .Execute 
 If .Found = True Then .Parent.Bold = True 
End With

O exemplo a seguir tem o mesmo resultado que o exemplo anterior, usando argumentos do método Execute.

Set myRange = ActiveDocument.Content 
myRange.Find.Execute FindText:="blue", Forward:=True 
If myRange.Find.Found = True Then myRange.Bold = True

Usando o objeto Replacement

O objeto Replacement representa o critério de substituição para uma operação de localização e substituição. As propriedades e métodos do objeto Replacement correspondem às opções da caixa de diálogo Localizar e substituir (menu Editar).

O objeto Replacement está disponível a partir do objeto Find. O exemplo a seguir substitui todas as ocorrências da palavra "hi" por "hello". A seleção é alterada quando o critério de localização é encontrado porque o objeto Find é acessado a partir do objeto Selection.

With Selection.Find 
 .ClearFormatting 
 .Text = "hi" 
 .Replacement.ClearFormatting 
 .Replacement.Text = "hello" 
 .Execute Replace:=wdReplaceAll, Forward:=True, _ 
 Wrap:=wdFindContinue 
End With

O exemplo a seguir remove formatação com negrito no documento ativo. A propriedade Bold é True para o objeto Find e False para o objeto Replacement. Para encontrar e substituir a formatação, de definir o texto de encontrar e substituir como cadeias de caracteres vazias ("") e definir o argumento Format do método Execute como True. A seleção não seja alterada porque o objeto Find é acessado a partir de um objeto Range (a propriedade Content retorna um objeto Range ).

With ActiveDocument.Content.Find 
 .ClearFormatting 
 .Font.Bold = True 
 With .Replacement 
 .ClearFormatting 
 .Font.Bold = False 
 End With 
 .Execute FindText:="", ReplaceWith:="", _ 
 Format:=True, Replace:=wdReplaceAll 
End With

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.