Como salvar uma planilha como arquivo PDF e enviá-la como anexo pelo Outlook?
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.
Notas e Dicas Práticas:
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.
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)
Artigos relacionados:
- Como salvar um nome de arquivo do Excel com carimbo de data/hora?
- Como usar a função Salvar Como para substituir automaticamente um arquivo existente no Excel?
- Como salvar, exportar múltiplas/todas as planilhas para arquivos separados CSV ou de texto no Excel?
- Como desabilitar ou não permitir as opções Salvar & Salvar Como no Excel?
- Como desabilitar a opção de salvar pasta de trabalho, mas permitir apenas Salvar Como no Excel?
Melhores Ferramentas de Produtividade para Office
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!