Como Criar uma Macro no Word para Localizar e Substituir Apenas Texto Itálico
🔍 WiseChecker

Como Criar uma Macro no Word para Localizar e Substituir Apenas Texto Itálico

Você precisa substituir texto em itálico em um documento do Word sem afetar a formatação do conteúdo ao redor. A caixa de diálogo Localizar e Substituir pode pesquisar formatação itálica, mas não consegue substituir o texto mantendo a formatação intacta sem uma macro. Este artigo explica como criar uma macro do Word que encontra todo texto em itálico e o substitui por novo texto, preservando o estilo itálico.

Principais Pontos: Macro para Substituir Texto Itálico

  • Alt+F11 (Editor VBA): Abre o editor onde você cola o código da macro.
  • Selection.Find.Format = True: Permite que a macro pesquise texto com formatação itálica.
  • .Font.Italic = True: Instrui o objeto Find a localizar apenas texto formatado como itálico.
  • Selection.TypeText: Insere o texto de substituição mantendo o estilo itálico ativo.
  • Arquivo > Opções > Personalizar Faixa de Opções > Desenvolvedor: Habilita a guia Desenvolvedor necessária para executar macros.

ADVERTISEMENT

O que a Macro Faz e o que Você Precisa Antes de Começar

O recurso interno Localizar e Substituir do Word pode localizar texto itálico usando Formatar > Fonte > Itálico na caixa de diálogo Localizar. No entanto, ao substituir o texto encontrado, o Word remove a formatação itálica, a menos que você a reaplique manualmente. Uma macro resolve isso mantendo o estilo de fonte itálico ativo durante a substituição.

A macro usa VBA (Visual Basic for Applications) para percorrer cada ocorrência de texto itálico no documento. Para cada ocorrência, ela seleciona o texto itálico, substitui pelo novo texto que você especificar e reaplica o formato itálico. O resultado é que todo o texto itálico original se torna seu novo texto de substituição, ainda em itálico.

Antes de começar, você deve habilitar a guia Desenvolvedor no Word. Sem ela, não é possível acessar o editor VBA. Além disso, salve seu documento antes de executar qualquer macro. Macros não podem ser desfeitas com Ctrl+Z após executarem várias substituições.

Passos para Criar e Executar a Macro de Localizar e Substituir Itálico

  1. Habilitar a guia Desenvolvedor
    Abra o Word. Vá em Arquivo > Opções > Personalizar Faixa de Opções. Na coluna da direita, em Guias Principais, marque a caixa ao lado de Desenvolvedor. Clique em OK. A guia Desenvolvedor agora aparece na faixa de opções.
  2. Abrir o editor VBA
    Clique na guia Desenvolvedor. No grupo Código, clique em Visual Basic. Como alternativa, pressione Alt+F11 no teclado.
  3. Inserir um novo módulo
    No editor VBA, vá em Inserir > Módulo. Uma janela de código em branco aparece. É aqui que você cola o código da macro.
  4. Copiar o código da macro
    Copie o código a seguir exatamente e cole na janela do módulo:
    Sub ReplaceItalicText()
        Dim ReplaceWith As String
        ReplaceWith = InputBox("Digite o texto de substituição:", "Substituir Texto Itálico")
        If ReplaceWith = "" Then Exit Sub
        
        Selection.HomeKey Unit:=wdStory
        With Selection.Find
            .ClearFormatting
            .Font.Italic = True
            .Text = ""
            .Format = True
            .Forward = True
            .Wrap = wdFindStop
        End With
        
        Do While Selection.Find.Execute
            Selection.TypeText Text:=ReplaceWith
            Selection.Font.Italic = True
        Loop
    End Sub
  5. Executar a macro
    Feche o editor VBA. Na guia Desenvolvedor, clique em Macros. Selecione ReplaceItalicText na lista e clique em Executar. Uma caixa de diálogo pede o texto de substituição. Digite seu texto e clique em OK. A macro varre o documento e substitui cada palavra ou frase em itálico pelo seu texto, mantendo o formato itálico.
  6. Salvar a macro para uso futuro
    Para reutilizar a macro em outros documentos, salve-a no modelo Normal.dotm. No editor VBA, clique com o botão direito em Normal no Project Explorer e escolha Exportar Arquivo. Salve o arquivo .bas. Para importar, clique com o botão direito em Normal e escolha Importar Arquivo, depois selecione o arquivo .bas.

ADVERTISEMENT

Erros Comuns e Limitações ao Usar a Macro

A macro substitui texto dentro de campos ou cabeçalhos

A macro pesquisa o corpo principal do documento. Se o texto itálico aparecer dentro de uma caixa de texto, cabeçalho, rodapé ou código de campo, a macro pode ignorá-lo. Para incluir cabeçalhos e rodapés, você deve modificar o código para iterar por cada StoryRange. Para a maioria dos usuários, a cobertura do corpo principal é suficiente.

O texto de substituição não aparece em itálico

Se a macro for executada, mas o novo texto perder a formatação itálica, o problema geralmente é que a linha Selection.Font.Italic = True não foi executada. Verifique se o código inclui esta linha dentro do loop. Além disso, certifique-se de que o documento não tenha estilos de caractere conflitantes que substituam o itálico.

A macro para após encontrar a primeira ocorrência

Isso acontece se a linha .Wrap = wdFindStop estiver ausente ou definida como wdFindContinue. O código mostrado acima usa wdFindStop, que faz o loop terminar quando não há mais correspondências. Se a macro parar cedo, verifique se as propriedades do objeto Find estão definidas exatamente como mostrado.

Desfazer as alterações da macro

A pilha de desfazer do Word não registra ações de macro. Antes de executar a macro, salve seu documento. Se o resultado estiver incorreto, feche o documento sem salvar e reabra a versão salva. Como alternativa, mantenha uma cópia de backup do arquivo.

Localizar e Substituir Interno vs Macro para Texto Itálico

Item Localizar e Substituir Interno Macro (VBA)
Pesquisar formatação itálica Sim, via Formatar > Fonte > Itálico Sim, via .Font.Italic = True
Substituir texto mantendo itálico Não, o itálico é perdido após a substituição Sim, reaplica itálico automaticamente
Requer conhecimento de VBA Não Sim, é necessário colar e executar código
Desfazível Sim, um Ctrl+Z Não, é necessário confiar em backup
Velocidade em documentos grandes Rápido Mais lento, processa cada correspondência individualmente
Funciona em cabeçalhos e rodapés Sim, se o escopo de pesquisa os incluir Não, a menos que o código seja estendido

Se você precisar substituir apenas uma ou duas frases em itálico, use o Localizar e Substituir interno e reaplique a formatação itálica manualmente. Para substituições em massa em vários documentos, a macro economiza tempo e garante consistência.

ADVERTISEMENT

Se a Macro Não Encontrar Nenhum Texto Itálico

A formatação itálica pode ser aplicada via um estilo de caractere

A macro pesquisa formatação itálica direta, não itálico definido dentro de um estilo. Se seu texto itálico usar um estilo chamado Ênfase ou similar, a macro não o encontrará. Para corrigir, modifique o objeto Find para pesquisar o estilo. Substitua a linha .Font.Italic = True por .Style = "Ênfase" (ou o nome real do estilo).

O documento não contém texto itálico

Faça uma verificação rápida: pressione Ctrl+H, clique dentro da caixa Localizar, clique em Formatar > Fonte > Itálico e depois clique em Localizar em > Documento Principal. O Word destaca todo texto itálico. Se nenhum aparecer, não há texto itálico para substituir.

A macro não está assinada ou as macros estão desabilitadas

O Word bloqueia macros por padrão. Na guia Desenvolvedor, clique em Segurança de Macro. Selecione Habilitar todas as macros (não recomendado para código não confiável) ou adicione o local do documento à lista de Locais Confiáveis. Após alterar a configuração, feche e reabra o documento.

Agora você pode criar e executar uma macro do Word que localiza todo texto itálico e o substitui por novo conteúdo, preservando o formato itálico. Teste a macro em um documento de amostra antes de usá-la em arquivos críticos. Para mais controle, explore o modelo de objeto VBA para adicionar recursos como diferenciação de maiúsculas/minúsculas ou suporte a curingas.

ADVERTISEMENT