Aplicabilidade: Word 365, 2019, 2016; Sistemas operacionais Windows e MAC OS X.
Segue a pergunta de um leitor::
Eu sou um professor normalmente uso o Word 2019 para escrever meus documentos. Muitas vezes preciso alterar a fonte e o tamanho dos parágrafos do meu documento. Existe uma maneira de automatizar meu trabalho com Macros, para que eu possa modificar o parágrafo do meu documento com um clique? Tenho certeza de que isso vai me poupar algumas horas por semana, que investirei com prazer em outras tarefas.
Obrigado pela sua pergunta. A principal vantagem das Macros é que elas permitem automatizar suas tarefas em aplicativos do Microsoft Office. As macros podem ser gravadas ou codificadas manualmente usando o Visual Basic for Applications (VBA). O Word fornece um gravador de macro que permite desenvolver scripts de automação sem codificação. Se você está apenas começando com a automação, essa pode ser uma solução boa o suficiente. Dito isto, com um pouco de conhecimento de VBA, você pode escrever macros eficientes e poderosas.
Habilitando a guia do desenvolvedor no Word
Se você não vir a guia Desenvolvedor na Faixa de Opções do Microsoft Word, precisará configurar seu ambiente de desenvolvimento de macro.
- Abra um novo documento do Word. Caso você queira trabalhar em um arquivo existente, certifique-se de ter uma cópia para backup, antes de fazer qualquer alteração.
- Agora, vá em frente e torne o menu do desenvolvedor visível na Faixa de Opções .
Gravando uma Macro do Word – um exemplo prático
- Agora, clique na guia Desenvolvedor recém-adicionada .
- Vá para o grupo de botões Código .

- Aperte o botão Gravar Macro para invocar a função de gravador de Macro.

- Defina um nome significativo para sua Macro. Nota: Como o nome que você fornecer será usado no código VBA criado automaticamente, certifique-se de não haver espaços no nome da macro.
- Observação: embora seja possível atribuir Macros a botões , para simplificar, executaremos a Macro manualmente na guia Exibir ou nas guias Desenvolvedor.
- Execute a sequência de etapas que deseja gravar. Nesse caso, você registrará as seguintes etapas:
- Selecione um parágrafo específico em seu documento.
- Vá para a guia Início .
- Defina a fonte como Times New Roman.
- Defina o tamanho da fonte para 16.
- Centralize seu texto pressionando Ctrl + E.
- Depois de concluído, retorne à guia Desenvolvedor e clique em Parar gravação .
- Agora vamos dar uma olhada no código VBA gerado automaticamente. Clique em Macros e, em seguida, destaque a Macro AutoFormatação e clique em Editar .

Salve seu trabalho em um modelo habilitado para Word Macro
- Clique em Arquivo e depois em Salvar como .
- No lado direito da caixa de diálogo Salvar como, determine seu local de salvamento e forneça um nome significativo para sua pasta de trabalho.

- Escolha Documento habilitado para macro do Word como seu tipo de documento. Observação: seu documento do Word será salvo com o sufixo .docm.
- Aperte o botão Salvar .
Executando sua macro
- Abra seu documento do Word.
- Selecione o parágrafo que deseja formatar automaticamente. Apenas como exemplo, aqui está o parágrafo que eu escolhi:

- Vá para a guia Exibir .
- Aperte o botão Macros .
- Selecione sua Macro de AutoFormatação
- Hit Run – isso aplicará a macro no parágrafo selecionado.
- Voi'la, belo resultado!

Atribuindo sua macro a botões ou atalhos de teclado
Nota: Esta é uma etapa opcional que deve ser tentada após você ter seguido o tutorial de gravação de macro acima.
OK, até agora temos nosso básico de Macro funcionando. Agora é hora de melhorar um pouco nossa usabilidade de Macro no documento do Word. Deixe-me mostrar como você pode associar sua Macro a um botão de acesso rápido, para que você possa iniciá-la com mais facilidade.
- Clique com o botão direito do mouse na faixa de opções e selecione Personalizar a barra de ferramentas de acesso rápido.
- A caixa de diálogo Opções do Word aparecerá.
- Na lista suspensa Escolher comandos de, selecione Macros.
- Realce sua Macro e pressione o botão Adicionar>> para adicionar um atalho para sua Macro na Barra de Ferramentas de Acesso Rápido .

- Aperte o botão Modify… para definir um ícone adequado para sua Macro.
- Defina um nome de exibição para seu botão.
- Clique em OK .
- Agora, você pode iniciar sua Macro na Barra de Ferramentas de Acesso Rápido, logo acima da Faixa de Opções.

Observação: você pode associar sua Macro do Word não apenas a botões de acesso rápido, mas também a botões de comando incorporados em seu documento e a atalhos de teclado personalizados específicos.
Criando macros do Word usando VBA
Com algumas habilidades simples de codificação do Visual Basic for Applications, podemos editar as macros e escrever programas para automatizar vários tipos de trabalhos usando o VBA.
Observação à parte: FYI – alguns dos aplicativos do Microsoft Office, como Powerpoint e Outlook, não possuem gravadores de macro integrados . Portanto, escrever VBA é obrigatório para escrever macros do Powerpoint e automatizar o Outlook.
- Para editar uma macro, clique na guia Desenvolvedor e selecione Macros na opção de código.
- Clique na macro e selecione Editar .
- O editor do Visual Basic para aplicativos será aberto.
- Vamos supor que queremos editar manualmente a Macro que gravamos na etapa anterior, para que o Word não apenas defina o tamanho, a fonte e o alinhamento do parágrafo, mas também a cor.
- A definição da cor de uma seção é feita usando o seguinte comando VBA:
[código] Seleção.Fonte.Cor [/código]
- No nosso caso, vamos querer defini-lo como um azul aleatório, então anexaremos o seguinte trecho à nossa macro Gravada:
[código] Selection.Font.Color = 16737792[/code]
- Veja como seu código VBA deve ficar:

- No Editor VBA, clique em Arquivo e depois em Salvar .
- De volta ao seu documento, execute sua Macro em um parágrafo e observe a mudança de cor da fonte.

Exemplo útil do Word Macro que você pode escrever
Desde a publicação deste tutorial, muitos leitores pediram exemplos mais detalhados de Macros do Word. Esta lista abrange as tarefas mais comuns que você pode automatizar usando o Visual Basic no Word. Aqui vamos nós:
Criar e salvar novo documento
Sub CreateNewDoc()
'This small snippet first creates a new document, then it checks whether a document with the same name already exists before saving.
Dim myDoc As New Document
Dim filePath As String
'Modify your file path as needed
filePath = "C:\MyNewDoc.docx"
Set myDoc = Documents.Add
With myDoc
If Dir(filePath) = "" Then
.SaveAs2 (filePath)
Else
'You have already an existing document
MsgBox ("Please use a different file name")
End If
End With
myDoc.Close SaveChanges:=wdPromptToSaveChanges
End Sub
Nota: Ao criar novos documentos, você pode especificar o modelo (arquivos .dotm/.dotx) que deseja usar. Os modelos geralmente são armazenados em: C:\Users\\AppData\Roaming\Microsoft\Templates
Documents.Add Template:=<your_template_folder>
Abra um documento do Word com VBA
Sub OpenDoc()
'This code checks whether your document exists and then opens it
filePath = "C:\MyNewDoc.docx"
If Dir(filePath) = "" Then
MsgBox ("file doesn't exist")
Else
Documents.Open (filePath)
End If
End Sub
Fechando um/todos os documentos abertos
Sub CloseDoc()
'This code closes a specific document
filePath = "C:\MyNewDoc.docx"
Documents(filePath).Close SaveChanges:=wdPromptToSaveChanges
End Sub
Sub CloseAllDocs()
'This code closes all opened documents in your computer
Documents.Close SaveChanges:=wdPromptToSaveChanges
End Sub
Salvando Word como PDF
Veja como automatizar facilmente o salvamento de documentos do Word como arquivos PDF.
Sub SaveAsPdf()
'This code saves a word document in a PDF format
FileName = Left(CStr(ActiveDocument.Name), Len(CStr(ActiveDocument.Name)) - 5)
ActiveDocument.SaveAs2 FileName:="c:\" + FileName + ".pdf", FileFormat:=wdFormatPDF
End Sub
Inserindo cabeçalho e rodapé
Esse código define o cabeçalho e o rodapé da primeira página do documento do Word.
Sub InsertHeaderFooterFirstPage()
Dim myDoc As Document
Dim headerText As String
Dim footerText As String
Set myDoc = ActiveDocument
'Replace the header and footer text as needed
headerText = "This document was written by you"
footerText = "All rights reserved to you"
With myDoc.Sections(1)
'We first ensure that we can set different header and footer texts
.PageSetup.DifferentFirstPageHeaderFooter = True
'Setting the header and footer texts
.Headers(wdHeaderFooterFirstPage).Range.Text = headerText
.Footers(wdHeaderFooterFirstPage).Range.Text = footerText
End With
End Sub
Ideias adicionais de macros do Word
Aqui estão mais algumas idéias que estaremos postando no futuro próximo.
- Localizar e substituir (método de execução)
- Inserir um parágrafo (antes e depois de uma seleção)
- Imprimindo documentos programaticamente
- Trabalhando com tabelas
Isso conclui nosso tutorial de hoje. Como você acabou de ver, há muito a ser feito com o gravador de macros do Word e as macros VBA no Word. Caso você esteja procurando por ajuda mais específica que vá além do escopo deste tutorial, entre em contato conosco através do nosso formulário de contato .