Como começar a usar macros no Word

Como começar a usar macros no Word

Cansado de realizar tarefas repetitivas no Microsoft Word? Escondido dentro do programa está uma ferramenta de automação poderosa que pode tirar esses trabalhos de suas mãos. Estamos falando de macros e, embora o recurso dependa do Visual Basic for Applications (VBA) da Microsoft, você pode usá-lo mesmo que a ideia de codificação lhe dê calafrios.





Com um clique em um botão, o Word gravará suas ações, gerando uma macro que você pode reproduzir quantas vezes quiser. Se você for aventureiro, pode facilmente modificar a macro para um grau extra de automação.





Aqui, mostraremos um exemplo simples, mas útil: Como automatizar a função Localizar e Substituir do Word.





Gravando a Macro

Neste exemplo, você é o estimado presidente da Sociedade para a Preservação de Aparelhos Odontológicos Antigos. Você tem dezenas de documentos do Word sobre dentaduras históricas e similares, todos com o nome da sociedade mencionado em destaque. Então, de repente, o conselho vota para mudar o nome para Dental Antiques Preservation League. Agora você precisa de uma maneira fácil de atualizar os documentos.

Você pode começar com um novo documento em branco ou abrir um existente. Caso ainda não tenha feito isso, será necessário habilitar a guia Desenvolvedor.



Vamos para Arquivo> Opções> Personalizar Faixa de Opções . À direita, sob Abas Principais , Verifica a Desenvolvedor opção. Selecione OK e saia.

como adicionar jogos nes ao clássico snes

Agora vamos criar nossa macro.





  1. Clique Desenvolvedor> Gravar Macro .
  2. Você será solicitado a nomear a macro. Insira ChangeSocietyName ou qualquer outro nome que seja adequado a você. Ao nomear macros, evite espaços, pontos, pontos de exclamação e caracteres especiais, ou você receberá uma mensagem de erro. Você pode usar números, mas o primeiro caractere deve ser uma letra.
  3. Você pode atribuir a macro a um botão e / ou atalho de teclado, mas isso não é um requisito. Se você escolher Botão, o Word permitirá que você o adicione à Barra de Ferramentas de Acesso Rápido. Você também pode adicionar uma breve descrição da macro.
  4. Clique OK , e o Word agora registrará suas ações. Bater Ctrl + H trazer à tona o Encontrar e substituir diálogo.
  5. Entre na Society for the Preservation of Antique Dental Appliances em Find e na Dental Antique Preservation League em Replace.
  6. Clique Substitua tudo para executar a operação Localizar e substituir. Esta é a única ação que você deseja registrar. Não importa se a macro realmente substitui algum texto. O objetivo é salvá-lo para outros documentos.
  7. Isso é importante: Clique Desenvolvedor> Parar gravação . Caso contrário, a macro incluirá todas as ações subsequentes.

Agora vamos ver seu trabalho. Abra um documento contendo o nome da sociedade. Clique Desenvolvedor> Macros . Se você clicar duas vezes em ChangeSocietyName, o Word executará automaticamente a operação Localizar e Substituir.

Gorjeta: Conforme você grava a macro, pode ser necessário realizar uma ação que não deseja que seja gravada. Por exemplo, você pode desejar copiar e colar texto na caixa de diálogo Localizar e substituir em vez de digitá-lo manualmente. Sem problema: basta clicar Desenvolvedor> Pausar gravação , copie e cole o texto e clique em Desenvolvedor> Resume Recorder . Em seguida, você pode concluir a gravação da macro conforme descrito acima.





Embora tenhamos nos concentrado aqui no Microsoft Word, você também pode use macros para aumentar a produtividade no Excel . E há muitas macros que economizam tempo para o Microsoft OneNote.

Mergulhando no Código

Agora vamos dar um mergulho mais profundo em nossa nova macro do Word. Vamos para Desenvolvedor> Macros , mas em vez de clicar duas vezes na macro, selecione-a e clique Editar . Isso abre o editor do Visual Basic, um ambiente independente para a construção de aplicativos VBA.

Pode parecer assustador, mas você pode ignorar os menus e a maioria dos painéis. Em vez disso, concentre-se na janela que contém o código. Como você pode ver, o Word acabou de escrever uma macro que executa Localizar e Substituir.


Sub ChangeSocietyName()
'
' ChangeSocietyName Macro
' Rename Society for the Preservation of Antique Dental Appliances
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = 'Society for the Preservation of Antique Dental Appliances'
.Replacement.Text = 'Dental Antiques Preservation League'
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Vamos explicar o que está acontecendo aqui.

O sub na primeira linha é a abreviação de sub-rotina, um pequeno programa que pode ser executado sozinho ou como parte de um aplicativo VBA maior. As linhas precedidas por aspas simples são para comentários. As aspas indicam ao VBA para ignorar quaisquer declarações nessas linhas.

como salvar videos no twitter

Em seguida, chegamos ao cerne do código: o código que executa o Encontrar e substituir Operação. Como você pode ver, ele especifica valores para cada opção na caixa de diálogo Localizar e Substituir, incluindo o texto e o texto de substituição entre aspas. o Selection.Find.Execute próximo ao final é equivalente a clicar no botão Substituir tudo.

Modificando a macro

Para usar macros, você não precisa mexer no código ou mesmo olhar para ele. Mas você pode tirar mais proveito dessa função se estiver disposto a mergulhar. Por exemplo, suponha que você cometa um erro de digitação ao gravar a macro. Em vez de regravá-lo, você pode acessar o Visual Basic e corrigi-lo.

Você também pode ajustar a macro para torná-la mais útil, e é isso que faremos aqui. Quando você executa Localizar e substituir, seja manualmente ou por meio de macro, o Word se lembra do texto localizar e substituir. Na próxima vez que você abrir a caixa de diálogo Localizar e substituir, ela terá a seguinte aparência.

Seria melhor limpar os valores para obter uma caixa de diálogo limpa. Faremos isso com uma segunda macro, mas, desta vez, faremos isso diretamente no Visual Basic.

  1. No editor do Visual Basic, selecione a sub-rotina inteira, da primeira linha até End Sub. Bater Ctrl + C para copiá-lo.
  2. Coloque o cursor embaixo de End Sub e pressione Ctrl + V . Você acabou de duplicar a sub-rotina.
  3. Altere o nome de ChangeSocietyName para ClearFindReplace (ou qualquer outro nome que seja adequado a você). Isso é importante porque o VBA gerará uma mensagem de erro se você tentar executar macros com nomes duplicados.
  4. No .Texto e Replacement.Text valores, remova o texto, mas deixe as aspas. Essencialmente, você está dizendo ao Word para não encontrar nada e substituí-lo por nada, mas também está limpando esses valores.

O resultado deve ser assim:


Sub ClearFindReplace()
'
' ClearFindReplace Macro
' Clear Text from Find and Replace dialog
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ''
.Replacement.Text = ''
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Agora vamos voltar para a macro ChangeSocietyName. Abaixo do código Find and Replace, mas antes de End Sub, insira ClearFindReplace (sem parênteses no final).

Isso mesmo: você não precisa inserir todo o código que acabou de criar, apenas o nome da macro.


Sub ChangeSocietyName()
'
' ChangeSocietyName Macro
' Rename Society for the Preservation of Antique Dental Appliances
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = 'Society for the Preservation of Antique Dental Appliances'
.Replacement.Text = 'Dental Antiques Preservation League'
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
ClearFindReplace
End Sub

Quando o Word executa ChangeSocietyName, primeiro ele executa a função original Localizar e Substituir. Em seguida, ele interpretará ClearFindReplace como um comando para executar a segunda macro.

Indo além com VBA

Como você pode ver, a função de gravação de macro do Word pode ajudá-lo a economizar tempo de inúmeras maneiras. Você pode criar macros para automatizar quase todas as operações e, no editor do Visual Basic, ajustar as macros, incorporar uma macro dentro da outra ou criar uma sub-rotina que executa várias macros uma após a outra.

Como o VBA é uma linguagem de programação completa, você pode incorporar as sub-rotinas em aplicativos maiores com variáveis, loops, instruções condicionais e muito mais. E depois de aprender os fundamentos do VBA no Word, você pode aplicar muito desse mesmo conhecimento para criar macros no Microsoft Excel e Access.

o computador não inicializa após a atualização do Windows 10

Para ir mais longe, você vai querer aprender mais sobre as convenções do VBA e o editor do Visual Basic, por exemplo, como organizar seu código e como lidar com bugs. Mas mesmo se você quiser se limitar a funções simples como as descritas aqui, você pode percorrer um longo caminho para melhorar sua produtividade.

Compartilhado Compartilhado Tweet O email Tutorial para iniciantes sobre como escrever macros VBA no Excel (e por que você deve aprender)

Se você usa o Excel regularmente, vale a pena aprender como criar macros VBA e obter acesso a muito mais funções e recursos.

Leia a seguir
Tópicos relacionados
  • Produtividade
  • Microsoft Word
  • Microsoft Office 365
  • Microsoft Office 2016
  • Dicas do Microsoft Office
  • Microsoft Office 2019
  • Macros
Sobre o autor Stephen Beale(6 artigos publicados)

Stephen Beale é um escritor de tecnologia de longa data que mora na área de San Francisco. Ele é autor de vários livros sobre aplicativos de computador em publicação e design gráfico e é ex-editor de notícias e análises da Macworld. Atualmente, ele dirige o Steampunk Explorer, um site popular para entusiastas do Steampunk.

Mais de Stephen Beale

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever