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 "Olá". Se o final do documento for alcançado antes que a palavra "Olá" seja encontrada, a pesquisa será interrompida.
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 localizar e substituir a formatação, defina o texto localizar e substituir para cadeias de caracteres vazias ("") e defina o argumento Formatar 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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de