Comment enregistrer une feuille de calcul en tant que fichier PDF et l'envoyer par e-mail en tant que pièce jointe via Outlook?
Dans certains cas, vous devrez peut-être envoyer une feuille de calcul sous forme de fichier PDF via Outlook. Habituellement, vous devez enregistrer manuellement la feuille de calcul en tant que fichier PDF, puis créer un nouvel e-mail avec ce fichier PDF en pièce jointe dans votre Outlook et enfin l'envoyer. Il faut du temps pour y parvenir manuellement étape par étape. Dans cet article, nous allons vous montrer comment enregistrer rapidement une feuille de calcul en tant que fichier PDF et l'envoyer automatiquement en tant que pièce jointe via Outlook dans Excel.
Enregistrez une feuille de calcul en tant que fichier PDF et envoyez-la par courrier électronique en tant que pièce jointe avec le code VBA
Vous pouvez exécuter le code VBA ci-dessous pour enregistrer automatiquement la feuille de calcul active en tant que fichier PDF, puis l'envoyer par courrier électronique en tant que pièce jointe via Outlook. Veuillez faire comme suit.
1. Ouvrez la feuille de calcul que vous allez enregistrer au format PDF et envoyer, puis appuyez sur le autre + F11 touches simultanément pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module. Ensuite, copiez et collez le code VBA ci-dessous dans le Code la fenêtre. Voir la capture d'écran:
Code VBA: enregistrez une feuille de calcul en tant que fichier PDF et envoyez-la par e-mail en tant que pièce jointe
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. appuie sur le F5 clé pour exécuter le code. dans le Explorer boîte de dialogue, veuillez sélectionner un dossier pour enregistrer ce fichier PDF, puis cliquez sur le OK .
Florales:
Enregistrez facilement une feuille de calcul ou plusieurs feuilles de calcul en tant que fichiers PDF distincts à la fois:
Le Classeur fractionné utilité de Kutools for Excel peut vous aider à enregistrer facilement une feuille de calcul ou plusieurs feuilles de calcul en tant que fichiers PDF séparés à la fois, comme le montre la démo ci-dessous. Téléchargez et essayez-le maintenant ! (parcours gratuit de 30 jours)
Articles connexes:
- Comment enregistrer un nom de fichier Excel avec horodatage?
- Comment utiliser la fonction Enregistrer sous pour écraser automatiquement un fichier existant dans Excel?
- Comment enregistrer, exporter plusieurs / toutes les feuilles pour séparer des fichiers csv ou texte dans Excel?
- Comment désactiver ou ne pas autoriser les options Enregistrer et enregistrer sous dans Excel?
- Comment désactiver l'enregistrement du classeur mais autoriser uniquement l'enregistrement sous Excel?
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!