WORD VBA - Eliminar apenas uma cor de Realce do documento inteiro

Logo do artigo

Olá, seguidor e seguidora do blog!

Este é um artigo um pouco diferente dos demais. Ele fala sobre o VBA para o Microsoft Word.

Recebi uma dúvida postada em um dos vídeos do curso de Word (para acesso a playlist, clique aqui) e resolvi fazer o artigo para ajudar na solução.
Farei a gravação de uma aula em vídeo para facilitar também o entendimento da ação.

Vamos à dúvida:
"Professor, estou com um problema, tenho um arquivo que tem 800 páginas, algumas palavras estão com realce, verde, vermelho e azul. Queria remover de forma automática somente os realces vermelhos, é possível? Procurei, procurei, tentei de tudo e não achei."
Montei um documento para demonstrar o problema:
Cópia da tela do Word com as palavras destacadas em realce
Exemplo de texto com realce aplicado no Word

A macro no Word trabalha de forma um pouco diferente do que no Excel.
Para um documento do Word, a solução que encontrei foi selecionar todo o documento e a partir dessa seleção, percorrer cada palavra para verificar qual a cor de realce aplicado à palavra.

Após a identificação da cor, se ela for a vermelha, a rotina a elimina!

Vamos ao código:

ActiveDocument.Select

For Each sPalavra In Selection.Words

    If sPalavra.HighlightColorIndex = wdRed Then
        sPalavra.HighlightColorIndex = wdNoHighlight
    End If

Next sPalavra

Msgbox "Processo concluído!"

ActiveDocument.Select: Seleção do documento para manipulação dos textos. Será considerado o documento aberto no momento da execução da macro.

For Each sPalavra in Selection.Words: A estrutura de repetição for Each percorrerá cada palavra do documento, associando cada palavra à variável sPalavra. Selection.Words é o conjunto de todas as palavras selecionadas no documento ativo.

If / End If: Esta parte do código faz a verificação da cor de preenchimento através da propriedade HighlightColorIndex. Quando o retorno for 6 (o valor do enumerador wdRed), o retorno será true e a cor será retirada da palavra com o uso do enumerador wdNoHighlight

Msgbox: Mensagem de aviso ao usuário que o processamento terminou.

Outros enumeradores da cor de realce e seus respectivos valores:
    wdAuto (0)
    wdBlack (1)
    wdBlue (2)
    wdRed (6)
    wdYellow (7)
    wdDarkBlue (9)
    wdDarkRed (13)
    entre outros...

Código aplicado no ambiente do V.B.E. (Visual Basic Editor):

Ambiente de desenvolvimento VBE (Visual Basic Editor)

Agora é sua vez... Pratique um pouco e escreva o código em um documento do Word formatado com Realce.

Se não sabe fazer isso, tenho uma aula no Youtube que vai te ajudar. Clique aqui para ter acesso a ela.

Que assunto gostaria que eu escrevesse no próximo artigo?
Deixe sua sugestão nos comentários!

Até o próximo artigo!



Alessandro Trovato
Compartilhando conhecimento, sempre!


#wordvba #microsoftword #vba #trovato #mvp #mvpbr #cursostrovato

Postagem Anterior Próxima Postagem