Blog

Postado em em 14 de agosto de 2021

Preencher um Documento em Word com VBA – Integração VBA com Word

Nessa eu vou te mostrar como preencher um documento em Word com VBA para automatizar o preenchimento de informações e dados!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala, galera! Hoje vamos te mostrar como preencher um documento em Word utilizando o VBA (a programação do Excel) para facilitar a sua vida!

No exemplo de hoje trazemos um documento de procuração que você tenha por objetivo substituir diversas informações de forma automática.

Ao final da aula você vai conseguir abrir o Word utilizando o VBA, fazer uma busca pelas informações que vai substituir e por fim vai poder substituir as informações que tem em uma tabela no Excel.

Chega de perder tempo com esse procedimento manual e vamos preencher um documento em Word com VBA de forma automática!

Código necessário para preencher documento em word usando VBA:

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çõesProcuraçã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 Sub

Comentários a respeito do 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

Conclusão de Como Preencher um Documento em Word com VBA

Você pode estar se perguntando: porque eu iria preencher um documento em Word usando VBA ou até mesmo porque fazer essa integração do Word com VBA?

É simples: em alguns casos que você tenha sempre que alterar algumas informações no documento padrão. Esse é um processo bem chato e demorado se feito de forma manual, concorda?

Agora quando você já tem uma tabela com todas essas informações e cria uma macro para fazer isso de forma automática é muito mais fácil!

Até mais, pessoal! Fique ligado no nosso canal do Youtube para mais conteúdo de Excel e VBA! Um abraço!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um Minicurso Gratuito?


Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador