Abelhudos da informática

Um blog onde você encontrará curiosidades, dicas, tutoriais e notícias sobre informática

Macro para remover excesso de espaços no Word

Anteriormente, havia  ensinado em uma postagem Como remover o excesso de espaços no Word.


Hoje, porém, ensinarei algo semelhante, todavia avançado em relação a essa mesma questão.
Estou falando da criação de uma macro que fará todo o serviço de remoção de excesso de espaços do seu documento de texto no Microsoft Word com apenas um clique, sem precisar usar o comando substituir.

Para quem não conhece, macro é uma linha de comando do Visual Basic no Microsoft Word que serve para automatizar alguns comandos comuns do Microsoft Word ou Excel.


Criando a Macro para correção


- Clique no menu de macros do seu Microsoft Word. (exibição>macros).

- Crie um nome para sua macro. (sem pontuação e sem espaço, mas somente letras ou números).

- Na janela que vai abrir, você verá o nome de sua macro antecedido por Sub e, na frente do nome,
( )”.

Exemplo:

Sub minhamacro ( ).

No final você verá End sub, que é o fim da macro.

Entre “Sub” e “End” talvez você verá também venha listado o nome da sua macro com apóstrofos. O apóstrofo faz com que o caractere seja interpretado pelo Visual Basic como comentário, e não como código da macro.

Exemplo:

Sub minhamacro()
' minhamacro Macro
'
'

End Sub

- Tendo o apóstrofo, salte para a linha debaixo depois do último e cole o Código para corrigir excesso de espaços. Assim:

Sub minhamacro() '
' minhamacro Macro
'
'
 O código será colado aqui.

End Sub

Se não os tiver o apóstrofo, vá para linha abaixo de Sub.

Assim:

Sub minhamacro()

O código será colado aqui.

 End Sub

Código para corrigir excesso de espaços (ao invés de "O código será colado aqui").



'1        
   Selection.Find.ClearFormatting
          Selection.Find.Replacement.ClearFormatting
          With Selection.Find
              .Text = "^w"
              .Replacement.Text = " "
              .Forward = True
              .Wrap = wdFindContinue
              .Format = False
              .MatchCase = False
              .MatchWholeWord = False
              .MatchWildcards = False
              .MatchSoundsLike = False
              .MatchAllWordForms = False



         '2

          End With
          Selection.Find.Execute Replace:=wdReplaceAll
           MsgBox "VOCÊ ACABOU DE REMOVER O EXCESSO DE ESPAÇOS DO SEU DOCUMENTO.", vbApplicationModal, "Abelhudos da Informática"


Explicando a macro


No nosso código da macro, você verá dois itens marcado com um apóstrofo, a saber, ‘1 e ‘2.

Como eu já disse anteriormente, o apóstrofo faz com que o caractere seja interpretado pelo Visual Basic como comentário, e não como código da macro.

‘1 = Refere-se a todo o código da macro que será usado para corrigir o excesso de espaços.


‘2 = Refere-se à mensagem que aparecerá ao usuário do Microsoft Word, dizendo que o problema de excesso de espaço foi corrigido.


Se você quiser mudar a mensagem, troque a frase entre aspas que está logo após Msgbox; e para mudar o título (texto que está em cima da caixa com o nome do site), mude o texto dentro da segunda aspa, que é após o item ‘vbApplicationModal’. (Sem tirar nenhuma das aspas nem no primeiro e nem no segundo, mas somente o texto).

Usando a Macro


- Agora, para acessar a macro, encontre o menu Exibição do seu Microsoft Word e, em seguida, o botão macro.

macro para remover excesso de espaços no Word

- Clique nele e execute a macro com o nome que você criou.


Macro para remover espaços

Assim, você terá um sistema próprio de correção de excesso de espaços, sem precisar ficar substituindo toda hora. Isso é bastante prático para empresas onde é necessário formatações constantes de documentos (como no meu caso, pois trabalho com degravação de áudio).

Observação:
Se o aviso de segurança disser que a macro foi desabilitada, desbloqueie clicando no botão; do contrário, você não conseguirá executar a macro.

Marcadores: