Macros: um braço extra na sua rotina de revisão de textos
Macros são como pequenos apps dentro do Word que nos ajudam a automatizar tarefas mecânicas.
— Carol Machado,26 de outubro de 2022
Macros são como pequenos apps dentro do Word que nos ajudam a automatizar tarefas mecânicas, como substituições, formatações, inserção de textos que sempre se repetem, troca de dados com o Excel, entre outros. Provavelmente tudo de repetitivo que vier à sua mente uma macro pode resolver, a questão é quanto tempo se tem para dedicar à codificação de um programa que o faça.
Um exemplo de algo trabalhoso se feito manualmente, mas que pode ser resolvido em instantes por meio de uma macro: o alinhamento das notas de rodapé de acordo com o que prevê a ABNT. Segundo a norma, o número da nota deve estar sempre destacado do restante do texto:
“As notas de rodapé podem ser conforme 7.1 e 7.2 e devem ser alinhadas a partir da segunda linha da mesma nota, abaixo da primeira letra da primeira palavra, de forma a destacar o expoente e sem espaço entre elas e com fonte menor” (NBR 10520).
Automaticamente, o Word não faz isso. É preciso, a cada nota, ir às configurações de parágrafo e estabelecer o recuo de deslocamento.
Também há a possibilidade de recorrer aos estilos. No entanto, para que o alinhamento ficasse correto, seriam necessários pelo menos 3: para notas de 1 a 9; de 10 a 99; de 100 a 999 e assim por diante. Trabalhar com estilos também envolve selecionar o texto e aplicá-los, em pelo menos 3 etapas.
Já via código de automação isso tudo pode ser feito em um clique. Claro que, para chegar a esse ponto, é preciso antes codificar a macro para que ela desempenhe a tarefa. Mas veja como pode funcionar:
Anatomia de uma macro para Microsoft Office
Macros são escritas numa linguagem específica do Office, chamada Visual Basic for Applications (VBA). O VBA foi lançado com o Excel 5, em 1993. A linguagem foi uma maneira de padronizar e oficializar os complementos que já existiam em diversas outras linguagens para suprir deficiências do programa.
A parte mais interessante dessa linguagem é que é possível aprender um pouco do seu funcionamento por meio da própria interface do Word, ao criar macros via ferramenta de gravação. Você pode entender melhor como fazer isso neste vídeo.
Entretanto, a “programação” por meio da interface – principalmente via localizar e substituir – é bastante limitada. Ela não inclui muitos passos de lógica úteis para ferramentas mais complexas, como instruções condicionais “if… then” (se a condição x for verdadeira, então faça y) ou estruturas de repetição “for each… next” (para cada x no grupo y, faça z).
Para começar, o código em VBA sempre inicia com uma linha que contém “Sub nomedamacro()” e termina com “End Sub”. Se você copiar um código e deixar de incluir a primeira e a última linha, o programa retornará um erro.
Ainda, as linhas em verde que começam com ' são comentários, ou seja, o programa não as interpreta como instruções.
Veja um exemplo:
Sub vernotas()
'Verifica se existem notas de rodapé no documento
If FootnotesExist = False Then
MsgBox "Não encontrei notas de rodapé"
ActiveWindow.View.Type = wdPrintView 'Se a visualização estiver no modo web, muda para print
Else
If ActiveWindow.View.Type = wdPrintView Then 'Se estiver no modo de impressão
With ActiveWindow.View
.Type = wdWebView 'Passa para o modo web
.SeekView = wdSeekFootnotes 'Mostra as notas de rodapé
.SplitSpecial = wdPaneFootnotes 'Abre o painel de notas
End With
ActiveWindow.SplitVertical = 30 'Coloca o tamanho 30 no painel
With ActiveWindow.View.RevisionsFilter 'Mostra as revisões no modo simples
.Markup = wdRevisionsMarkupSimple
.View = wdRevisionsViewFinal
End With
Else
ActiveWindow.Split = False 'Se a visualização estiver no modo web, muda para print
ActiveWindow.View = wdPrintView 'Tira a visualização dividida
End If
End If
End Sub
Onde as macros ficam “guardadas”
Por padrão, as macros que você cola em módulos dentro do arquivo Normal ficam salvas num arquivo de mesmo nome, em que ficam também todas as personalizações de configuração que você faz na sua instalação do Word. O Normal é um template base do Word (Normal.dotm) em que ficam salvas essas informações.
Já os módulos podem abrigar uma ou mais macros. Se quiser, você pode colocar todas as suas macros dentro de apenas um módulo, mas isso dificulta na hora de encontrar um código específico. Outra opção é agrupar as macros em módulos temáticos. Por fim, pode-se colocar cada macro dentro de um módulo exclusivo, de forma que fiquem bem reconhecíveis as localizações de cada uma.
Esses pontos são básicos para que você possa pôr em funcionamento um código copiado de uma fonte de confiança. Se você quiser começar a ir mais fundo nesse mundo, recomendo começar pela documentação da linguagem no repositório da Microsoft.
VBA é a única linguagem em que se pode criar macros para Word?
Não. É possível criar aplicações até mais robustas por meio de outras linguagens de programação, como VB.NET, C#, C++, e, mais recentemente, javascript ou typescript. No entanto, essas outras linguagens exigem um nível de conhecimento maior, enquanto o VBA é simplificado e já supre boa parte da demanda.
Macros são vantajosas?
Na minha visão, são sim. Eu uso várias delas todos os dias, desde uma simples ferramenta que adiciona um ponto final e já sobe a caixa da próxima palavra até outras rotinas mais complexas, como mostrei no vídeo acima. Agora, se as macros vão facilitar o seu dia a dia, isso só você poderá dizer. 😊