Skip to main content

Como salvar uma planilha como arquivo PDF e enviá-la como anexo pelo Outlook?

Author: Siluvia Last Modified: 2025-08-06

No trabalho diário, você pode frequentemente se deparar com situações em que precisa compartilhar uma planilha específica com colegas ou clientes, mas deseja garantir que o formato do arquivo seja fixo e seguro. Enviar uma planilha como um arquivo PDF via Outlook é um requisito comum, especialmente para documentar relatórios, enviar faturas ou compartilhar dados finalizados que não devem ser facilmente modificados. Tradicionalmente, isso envolve salvar manualmente a planilha como PDF, abrir o Outlook, compor um e-mail, anexar o PDF e enviar — o que é tedioso e demorado, especialmente se repetido frequentemente ou ao lidar com várias planilhas.

Este artigo orienta passo a passo sobre como automatizar o processo de converter uma planilha para PDF e imediatamente anexá-la a um e-mail do Outlook diretamente no Excel, ajudando você a economizar tempo significativo e evitar trabalho manual repetitivo. Você encontrará uma solução de código VBA, juntamente com detalhes sobre operação, vantagens, cenários de aplicação e dicas práticas.

Salvar uma planilha como arquivo PDF e enviá-la como anexo com código VBA


Salvar uma planilha como arquivo PDF e enviá-la como anexo com código VBA

Para acelerar o processo de exportar uma planilha do Excel como um arquivo PDF e enviá-la por e-mail pelo Outlook, você pode usar o seguinte código VBA. Essa abordagem é especialmente útil se você precisar regularmente enviar relatórios personalizados, faturas ou outros instantâneos de dados diretamente do Excel, pois ela automatiza completamente as etapas de salvamento e envio de e-mail.

Antes de aplicar esse método, certifique-se de que o Microsoft Outlook esteja instalado e configurado como seu cliente de e-mail padrão. O código funciona melhor quando as macros estão habilitadas no seu ambiente do Excel.

1. Abra a planilha que você deseja salvar e enviar como PDF. Pressione Alt + F11 ao mesmo tempo para iniciar o editor do Microsoft Visual Basic for Applications (VBA).

2. Na janela do VBA, vá ao menu e clique em Inserir > Módulo. Isso criará um novo módulo de código. Em seguida, copie e cole o seguinte código VBA na janela de Código do módulo.  

Código VBA: Salvar uma planilha como arquivo PDF e enviá-la como anexo

Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range

Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)

If xFileDlg.Show = True Then
   xFolder = xFileDlg.SelectedItems(1)
Else
   MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
   Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"

'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
    xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
                      vbYesNo + vbQuestion, "File Exists")
    On Error Resume Next
    If xYesorNo = vbYes Then
        Kill xFolder
    Else
        MsgBox "if you don't overwrite the existing PDF, I can't continue." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
        Exit Sub
    End If
    If Err.Number <> 0 Then
        MsgBox "Unable to delete existing file.  Please make sure the file is not open or write protected." _
                    & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
        Exit Sub
    End If
End If

Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
    'Save as PDF file 
    xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
    
    'Create Outlook email 
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmailObj = xOutlookObj.CreateItem(0)
    With xEmailObj
        .Display
        .To = ""
        .CC = ""
        .Subject = xSht.Name + ".pdf"
        .Attachments.Add xFolder
        If DisplayEmail = False Then
            '.Send
        End If
    End With
Else
  MsgBox "The active worksheet cannot be blank"
  Exit Sub
End If
End Sub

3. Após colar o código, pressione F5 ou clique em Executar no editor do VBA para executar a macro. Uma caixa de diálogo de seleção de pasta aparecerá. Escolha a pasta de destino onde o arquivo PDF deve ser salvo, depois clique em OK para continuar.

run vba code to select a folder to save this PDF file

Notas e Dicas Práticas:

1. A macro cria um arquivo PDF com o mesmo nome da planilha, armazenado na pasta selecionada.
2. Se você tentar executar o código quando a planilha ativa estiver vazia, verá uma caixa de diálogo de aviso como na captura de tela abaixo. Isso evita que você salve e envie um PDF em branco por engano. Para evitar isso, certifique-se de que há conteúdo na planilha antes de executar a macro.

If the active worksheet is blank,a warning prompt box is popped out

4. Quando o processo for concluído, uma nova janela de e-mail do Outlook será gerada, com o arquivo PDF anexado. A linha de assunto é preenchida automaticamente com o nome da planilha terminando em ".pdf"; você pode editar o conteúdo do e-mail, adicionar destinatários e depois enviar conforme necessário. Isso reduz erros e aumenta a eficiência em relação à anexação manual.

a new Outlook email is created with the PDF file as an attachment

Nota: A macro só funciona se o Microsoft Outlook estiver instalado e configurado como seu cliente de e-mail padrão. Se você usar qualquer outro programa de e-mail, essa solução pode não se aplicar.

Essa abordagem baseada em VBA é mais eficiente quando você precisa distribuir regularmente planilhas finalizadas como anexos PDF e minimiza etapas manuais repetitivas. Suas limitações incluem dependência do Outlook, incapacidade de processar várias planilhas de uma vez e a necessidade de habilitar macros. Para fluxos de trabalho mais complexos, como enviar várias planilhas de uma só vez ou automação adicional, considere usar complementos do Excel ou recursos embutidos.

Solução alternativa: Se as macros VBA não forem adequadas para o seu ambiente, como quando as macros são restritas, você pode usar manualmente a função Exportar ou Salvar Como do Excel para salvar sua planilha como PDF, depois anexá-la e enviá-la no Outlook. Esse método, embora exija mais etapas, está disponível universalmente sem permissões especiais ou conhecimento de script.


Salve facilmente uma planilha ou várias planilhas como arquivos PDF separados de uma só vez:

O utilitário Separar Pasta de Trabalho do Kutools para Excel pode ajudá-lo a salvar facilmente uma planilha ou várias planilhas como arquivos PDF separados de uma só vez, como demonstrado abaixo. Baixe e experimente agora! (30-dia de teste grátis)

save multiple worksheets as separate PDF files by kutools


Artigos relacionados:

Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com base em: Execução Inteligente|Gerar Código |Criar Fórmulas Personalizadas|Analisar Dados e Gerar Gráficos |Acionar Funções Aprimoradas
Recursos populares: Encontrar, Destacar ou Marcar Duplicados|Excluir Linhas em Branco|Combinar Colunas ou Células sem perder dados| Arredondar...
Super PROC: PROC com múltiplos critérios|PROC com múltiplos valores|Procura em várias planilhas|Correspondência Fuzzy....
Lista Suspensa Avançada: Crie rapidamente Lista Suspensa|Lista Suspensa Dependente|Lista Suspensa com Múltipla Seleção....
Gerenciador de Colunas: Adicionar um número específico de colunas |Mover Colunas |Alternar o Estado de Visibilidade de Colunas Ocultas| Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco|Visualização de Design|Barra de fórmulas aprimorada|Gerenciador de Pasta de Trabalho & Planilha|Biblioteca de AutoTexto|Selecionador de Data|Mesclar Dados |Criptografar/Descriptografar Células|Enviar Email por Lista|Super Filtro|Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ... ) |Mais de50 Tipos de Gráficos (Gráfico de Gantt, ... ) |Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ... ) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ... ) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ... ) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ... ) |... e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência sem igual. Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo.Clique aqui para obter o recurso que você mais precisa...


Office Tab traz interface de abas para o Office e facilita muito seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas da mesma janela, em vez de novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!