Gerar PDF no Excel com VBA pode facilitar muito o seu trabalho, especialmente se você lida com relatórios e documentos no Excel que precisam ser convertidos para PDF e enviados por e-mail. Fazer isso manualmente pode ser um processo chato e repetitivo. Felizmente, com VBA, você pode automatizar essa tarefa e economizar tempo. Neste artigo, vou te mostrar como criar um código para gerar um PDF a partir de uma planilha no Excel e enviá-lo automaticamente pelo Outlook.
Se você ainda não sabe por onde começar com VBA, confira o artigo “Como Preparar o Excel para VBA e Criar sua Primeira Macro em 4 Passos“. Depois, retorne aqui para continuar.
Passo 1: Criando o código VBA para exportar a planilha como PDF
Antes de enviar o e-mail, precisamos converter a planilha em um arquivo PDF. Para isso, usamos o método ExportAsFixedFormat
do Excel. Veja um exemplo de código:
Sub GerarPDF()
Dim ws As Worksheet
Dim caminhoArquivo As String
Set ws = ThisWorkbook.Sheets("Relatorio") ' Altere para o nome da sua planilha
caminhoArquivo = ThisWorkbook.Path & "\Relatorio.pdf"
ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=caminhoArquivo, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
MsgBox "PDF gerado com sucesso!", vbInformation
End Sub
Esse código pega a planilha “Relatorio”, exporta como um PDF e salva no mesmo diretório do arquivo Excel. Isso é essencial para quem deseja gerar PDF no Excel com VBA de forma automática.
Passo 2: Criando o código VBA para enviar o PDF por e-mail
Agora que temos o arquivo PDF, podemos criar um código para enviá-lo automaticamente por e-mail usando o Outlook.
Sub EnviarEmail()
Dim OutlookApp As Object
Dim EmailItem As Object
Dim caminhoArquivo As String
caminhoArquivo = ThisWorkbook.Path & "\Relatorio.pdf"
Set OutlookApp = CreateObject("Outlook.Application")
Set EmailItem = OutlookApp.CreateItem(0)
With EmailItem
.To = "destinatario@empresa.com" ' Substitua pelo e-mail desejado
.Subject = "Relatório Automático"
.Body = "Segue em anexo o relatório gerado automaticamente pelo Excel."
.Attachments.Add caminhoArquivo
.Send
End With
MsgBox "E-mail enviado com sucesso!", vbInformation
End Sub
Esse código cria um novo e-mail no Outlook, anexa o arquivo PDF e o envia para o destinatário especificado. Com isso, conseguimos gerar PDF no Excel com VBA e enviá-lo automaticamente sem necessidade de intervenção manual.
Passo 3: Criando um botão no Excel para facilitar a automação
Agora que temos o código pronto, podemos adicionar um botão para executar a macro facilmente. Para isso:
- Acesse a guia “Desenvolvedor” no Excel.
- Clique em “Inserir” e escolha um botão de formulário.
- Associe o botão à macro
GerarPDF
. - Adicione outro botão e vincule à macro
EnviarEmail
.
Agora, sempre que precisar gerar e enviar um relatório, basta clicar nos botões! A automação para gerar PDF no Excel com VBA está pronta para uso.

VBA e Macros – Automação Inteligente para Economizar Tempo e Maximizar Resultados
Quer dominar o Excel e automatizar tarefas repetitivas? Com este guia best-seller, você aprenderá a criar macros, desenvolver automações e construir aplicações poderosas. Explore técnicas avançadas para tabelas dinâmicas, consultas web e integração com bancos de dados.
👉 Garanta o seu aqui!
Conclusão
Automatizar a geração de PDFs e o envio por e-mail no Excel com VBA é uma solução prática para quem trabalha com relatórios recorrentes. Com poucos cliques, é possível agilizar processos, reduzir erros manuais e aumentar a produtividade. Agora que você sabe como gerar PDF no Excel com VBA e enviá-lo por e-mail, sua rotina de trabalho ficará muito mais eficiente.
Agora é sua vez de testar! Se esse tutorial foi útil, compartilhe com seus colegas e aproveite para explorar outras dicas de automação no Excel com VBA. 🚀