Preencher um Documento em Word com VBA: Guia Completo
Aprenda a preencher um documento em Word com VBA usando dados do Excel. Tutorial prático para automatizar documentos como contratos e procurações.
Resposta rápida: O VBA controla o Word por automação a partir do Excel: CreateObject("Word.Application") abre o programa, Documents.Open carrega o modelo .docx e um laço percorre as colunas da planilha trocando cada marcador (#NOME, #CPF) pelo dado real com Find e Replacement. No fim, SaveAs2 grava um arquivo novo com o nome do cliente e o modelo fica intacto.
O que você vai aprender?
Introdução
Se você precisa preencher documentos repetidamente — como procurações, contratos, formulários ou declarações — sabe o quanto isso pode ser trabalhoso.
A boa notícia é que você pode preencher um documento em Word com VBA e automatizar esse processo em poucos minutos, sem digitar tudo manualmente.
Usando o Excel como base de dados e um simples código VBA, você consegue abrir o Word, localizar campos definidos e substituir automaticamente por informações da sua planilha. Isso economiza tempo, reduz erros e torna seu fluxo mais profissional.
Neste guia completo, você vai aprender a criar essa integração entre Excel e Word passo a passo, entender o código, personalizar para seu caso real e gerar documentos automáticos com apenas um clique.
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Por que preencher um documento em Word com VBA
Automatizar documentos no Word com VBA é útil quando você precisa:
- Gerar contratos em massa
- Criar procurações personalizadas
- Preencher declarações para clientes
- Criar certificados
- Gerar relatórios padronizados
Benefícios
- Economia de tempo
- Menos erros
- Processo automatizado
- Profissionalismo e produtividade
Você prepara o modelo uma vez e depois só alimenta os dados no Excel.
Como estruturar os dados no Excel
Crie uma planilha com duas linhas:
- Linha 1: palavras-chave que existem no documento Word (ex.:
#NOME,#CPF,#ENDERECO) - Linha 2: dados reais que devem substituir essas palavras no documento
Assim:
| #NOME | #CPF | #ENDERECO | ... |
|---|---|---|---|
| João Silva | 123.456.789 | Rua das Flores... | ... |
Esses termos serão encontrados e substituídos no Word.
Criando o modelo no Word
No Word, insira marcadores que serão substituídos — como:
Eu, #NOME, portador do CPF #CPF, residente em #ENDERECO...Use um padrão, como #PALAVRA, para facilitar a busca no VBA.
Salve o arquivo como Modelo Procuração.docx (ou outro nome desejado).
Código VBA para preencher documento Word automaticamente
Abra o Editor VBA no Excel (ALT + F11) e cole o código:
Sub gera_procuracao()
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set arqProcuracao = objWord.Documents.Open(ThisWorkbook.Path & "\Modelo Procuração.docx")
Set conteudoDoc = arqProcuracao.Application.Selection
For colTab = 1 To 18
conteudoDoc.Find.Text = Cells(1, colTab).Value
conteudoDoc.Find.Replacement.Text = Cells(2, colTab).Value
conteudoDoc.Find.Execute Replace:=wdReplaceAll
Next
arqProcuracao.SaveAs2 (ThisWorkbook.Path & "\Procuração - " & Cells(2, 1).Value & ".docx")
arqProcuracao.Close
objWord.Quit
Set arqProcuracao = Nothing
Set conteudoDoc = Nothing
Set objWord = Nothing
MsgBox ("Procuração gerada com sucesso!")
End SubAjuste o caminho se o arquivo estiver em outra pasta.
Detalhando o código:
- Vamos “setar” uma variável chamada “objWord” que representará o objeto do programa do Word em si, que vai ser criado no começo
- Vamos fazer com que o objWord seja visível, para que possamos ver o resultado do código nele colocando sua propriedade Visible como True
- Vamos “setar” uma variável chamada “arqProcuracao” que representará o objeto do arquivo a ser aberto, que de fato vai ser o arquivo de procuração, que vai estar no caminho da pasta do arquivo em Excel (dada pelo comando ThisWorkbook.Path) concatenado com “Modelo Procuração.docx”
- amos “setar” uma variável chamada “conteudoDoc” que representará a seleção dentro do programa do Word, a partir da qual vamos fazer as modificações
- Vamos usar de uma estrutura de repetição for no VBA para repetir ações da coluna 1 até a coluna 18, porque sabemos que nossos dados estão nas colunas 1 até 18 do arquivo em Excel, e eles que vão ser informações a serem substituídas no Word.
- A cada coluna analisada, vamos pesquisar/procurar no Word o que estiver na nossa primeira linha de cabeçalho da tabela do Excel
- Quando encontrado, substituir o que estiver na nossa segunda linha no Excel, de fato o que tiver de informação na tabela
- Em seguida executar a substituição em todas as ocorrências dentro do documento do Word
- Quando todas as substituições forem feitas, vamos salvar o arqProcuracao através do método SaveAs2 concatenando o caminho do arquivo com o que estiver na célula A2 da nossa planilha em Excel, que é o #NOME_TITULAR
- Após tudo ser feito, iremos por boas práticas fechar o documento em word (arqProcuracao)
- Em seguida aplicaremos o método Quit na variável que representa o Word (objWord) para que ele seja fechado
- Por boas práticas vamos esvaziar as variáveis “arqProcuracao”, “conteudoDoc” e “objWord” (Nothing) para que elas não fiquem armazenadas o tempo inteiro na memória do computador enquanto o arquivo está aberto no Excel
- Será gerada uma mensagem ao final do código (MsgBox) informando que a procuração foi gerada com sucesso
- Se encerra o código
Boas práticas e dicas avançadas
- Use placeholders padrão como
#NOME - Salve o modelo protegido para evitar alterações acidentais
- Use tabelas para organizar melhor os dados no Excel
- Gere lotes de documentos com múltiplas linhas com pequenas adaptações no loop
Aplicações reais e sugestões de uso
- Escritórios jurídicos
- Financeiro e RH
- Setor público
- Certificados e credenciais
- Cartórios e tabelionatos
- Contratos comerciais
Essa automação transforma trabalho manual em processo inteligente e escalável.
Conclusão
Agora você já sabe como preencher um documento em Word com VBA e automatizar a criação de procurações, contratos e diversos documentos corporativos em segundos. Uma pequena macro que gera enormes ganhos de tempo e profissionalismo.
Quer dominar VBA para automatizar ainda mais rotinas e integrar Excel com Word, PowerPoint e Outlook? Confira nosso Curso VBA Impressionador.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou confira o nosso canal do Youtube.
O que você aprende neste vídeo
Resposta rápida: Para preencher um documento do Word com VBA a partir do Excel, crie o objeto com CreateObject("Word.Application"), abra o modelo com Documents.Open e percorra as colunas da planilha com um laço, trocando cada marcador pelo dado da linha com Find e Replacement. No fim, SaveAs2 grava um arquivo novo e o modelo continua intacto.
Neste vídeo (27 min):
- 1:25 - Marcar no modelo do Word os campos que serão trocados pelos dados
- 2:30 - Abrir o editor do VBA com
Alt + F11 - 4:50 - Criar o objeto do Word com
CreateObject("Word.Application"), sempre precedido deSet - 7:35 - Abrir o modelo com
Documents.Opene o caminho do arquivo - 8:35 - Montar o caminho com
ThisWorkbook.Pathem vez de digitar a pasta - 9:45 - Guardar a seleção do documento em uma variável para percorrer o texto
- 11:45 - Trocar o marcador com
Find.Text,Replacement.TexteExecute - 14:55 - Repetir a troca com um laço
Forpercorrendo as colunas da planilha - 16:50 - Puxar o marcador da linha 1 e o dado da linha 2 pela coluna
- 20:40 - Salvar com
SaveAs2, usando o nome do titular no arquivo - 23:00 - Fechar o documento, sair do Word e limpar as variáveis
- 24:45 - Avisar com
MsgBoxe atribuir a macro a um botão da planilha
Trechos do vídeo:
- Sempre que você atribui um objeto a uma variável, precisa usar o
Setantes. - O
ThisWorkbook.Pathdevolve o caminho da pasta onde a planilha está salva. - Com uma estrutura de repetição você faz a mesma troca em todas as colunas.
- Depois de usar a variável de objeto, deixe ela como
Nothingpara liberar memória.
FAQ - Perguntas Frequentes sobre Preencher um Documento em Word com VBA
1. Como preencher um documento do Word usando VBA no Excel?
Você pode preencher um documento Word automaticamente criando um script no Excel com CreateObject("Word.Application"), abrindo o modelo do Word e substituindo marcadores via Find.Execute. O VBA busca os campos no Word e insere os dados que estão na planilha.
2. É possível gerar vários documentos Word de uma vez usando VBA?
Sim. Basta adaptar o loop para percorrer várias linhas do Excel. Cada linha representa um novo documento, e o VBA substitui os placeholders no modelo Word para cada registro, permitindo gerar dezenas ou centenas de arquivos automaticamente.
3. Como preparar o documento Word para substituir informações com VBA?
Crie marcadores no Word como #NOME ou #CPF nos locais onde deseja inserir dados. Esses placeholders serão encontrados via VBA e substituídos pelos valores da planilha. Evite nomes genéricos e mantenha o mesmo padrão entre Excel e Word.
4. Onde devo armazenar o modelo do Word para a macro funcionar?
O ideal é salvar o arquivo modelo na mesma pasta da planilha Excel e usar ThisWorkbook.Path no VBA. Assim, o código encontra o documento automaticamente sem precisar configurar caminhos manuais.
5. Vale a pena automatizar documentos Word com VBA?
Sim. Automatizar documentos com VBA economiza tempo e evita erros ao preencher contratos, procurações e formulários repetitivos. Se sua rotina exige inserir dados manualmente no Word, usar VBA deixa o processo mais rápido, seguro e profissional.
Hashtag Treinamentos
Para acessar outras publicações de VBA, clique aqui!
Posts mais recentes de VBA
- Como usar o Selenium no VBA para Automatizar Buscas na WebComo usar o Selenium no VBA para automação web no Excel. Aprenda passo a passo a instalar, configurar e capturar dados online com Selenium VBA + ChromeDriver.
- Preencher um Documento em Word com VBA: Guia CompletoAprenda a preencher um documento em Word com VBA usando dados do Excel. Tutorial prático para automatizar documentos como contratos e procurações.
- Planilha para Controle de Ações e IR 2.0 – Download Grátis e Guia CompletoBaixe grátis a Planilha para Controle de Ações e IR. Organize seus investimentos, calcule Imposto de Renda e acompanhe tudo com gráficos no Excel.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.







