Como salvar uma planilha como arquivo PDF e enviá-la como anexo por meio do Outlook?
Em alguns casos, você pode precisar enviar uma planilha como um arquivo PDF através do Outlook. Normalmente, é necessário salvar manualmente a planilha como um arquivo PDF, depois criar um novo e-mail com esse arquivo PDF como anexo no seu Outlook e, finalmente, enviá-lo. É demorado realizar isso manualmente, passo a passo. Neste artigo, mostraremos como salvar rapidamente uma planilha como um arquivo PDF e enviá-la automaticamente como anexo pelo Outlook no Excel.
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
Você pode executar o seguinte código VBA para salvar automaticamente a planilha ativa como um arquivo PDF e, em seguida, enviá-la como anexo por meio do Outlook. Por favor, siga os passos abaixo.
1. Abra a planilha que deseja salvar como PDF e enviar, depois pressione simultaneamente as teclas Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Na janela Microsoft Visual Basic for Applications, clique em Inserir > Módulo. Em seguida, copie e cole o código VBA abaixo na janela Código. Veja a captura de tela:
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. Pressione a tecla F5 para executar o código. Na caixa de diálogo Procurar, selecione uma pasta para salvar este arquivo PDF e, em seguida, clique no botão OK.
Notas:
Salve facilmente uma planilha ou várias planilhas como arquivos PDF separados de uma 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 vez, conforme mostrado na demonstração abaixo. Faça o download e experimente agora! (30-dia de teste grátis)
Artigos relacionados:
- Como salvar um 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 várias/todas as planilhas para arquivos CSV ou de texto separados no Excel?
- Como desabilitar ou não permitir as opções Salvar e Salvar Como no Excel?
- Como desabilitar a opção de salvar a pasta de trabalho, mas permitir apenas Salvar Como no Excel?
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O 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...
O Office Tab traz interface com abas para o Office e facilita muito o 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 na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!