How to batch convert multiple emails to pdf files in Outlook?
In Outlook, the Save As function only can save an email as HTML, TXT, MHT, MSG and Template format file, if you want to convert the email(s) to PDF file(s), how can you do? In this article, I introduce some tricks on solving this problem.
Convert one email to PDF file with Print function
Convert one email to PDF file with VBA
Convert batch emails to separated PDF files with Save as File utility
Convert one email to PDF file with Print function
In Outlook, you can use the Print function to save one email as a PDF file.
1. Select the email you want to convert to PDF, click File > Print, select Microsoft Print to PDF from the Printer drop-down list, and click Print.
2. In the Save Print Output As dialog, select one path to place the file, and give it a name.
3. Click Save, and click Cancel to stop printing.
Now the selected message has been converted to a PDF file.
Note: This method only work in Outlook 2016.
Convert one email to PDF file with VBA
If you are working at Outlook 2007 or 2010, you can apply a VBA code to convert one email to PDF file.
1. Select one email, and press Alt + F11 keys to enable the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste below code to the Module script.
VBA: Convert email to pdf
Sub SaveAsPDFfile()
'UpdatebyExtendoffice
Dim MyOlNamespace As NameSpace
Dim MySelectedItem As MailItem
Dim Response As String
Dim FSO As Object, TmpFolder As Object
Dim tmpFileName As String
Dim wrdApp As Object
Dim wrdDoc As Object
Dim bStarted As Boolean
Dim dlgSaveAs As FileDialog
Dim fdfs As FileDialogFilters
Dim fdf As FileDialogFilter
Dim i As Integer
Dim WshShell As Object
Dim SpecialPath As String
Dim msgFileName As String
Dim strCurrentFile As String
Dim strName As String
Dim oRegEx As Object
Dim intPos As Long
Set MyOlNamespace = Application.GetNamespace("MAPI")
Set MySelectedItem = ActiveExplorer.Selection.Item(1)
Set FSO = CreateObject("Scripting.FileSystemObject")
tmpFileName = FSO.GetSpecialFolder(2)
strName = "email_temp.mht"
tmpFileName = tmpFileName & "\" & strName
MySelectedItem.SaveAs tmpFileName, 10
On Error Resume Next
Set wrdApp = GetObject(, "Word.Application")
If Err Then
Set wrdApp = CreateObject("Word.Application")
bStarted = True
End If
On Error GoTo 0
Set wrdDoc = wrdApp.Documents.Open(FileName:=tmpFileName, Visible:=False, Format:=7)
Set dlgSaveAs = wrdApp.FileDialog(msoFileDialogSaveAs)
Set fdfs = dlgSaveAs.Filters
i = 0
For Each fdf In fdfs
i = i + 1
If InStr(1, fdf.Extensions, "pdf", vbTextCompare) > 0 Then
Exit For
End If
Next fdf
dlgSaveAs.FilterIndex = i
Set WshShell = CreateObject("WScript.Shell")
SpecialPath = WshShell.SpecialFolders(16)
msgFileName = MySelectedItem.Subject
Set oRegEx = CreateObject("vbscript.regexp")
oRegEx.Global = True
oRegEx.Pattern = "[\/:*?""<>|]"
msgFileName = Trim(oRegEx.Replace(msgFileName, ""))
dlgSaveAs.InitialFileName = SpecialPath & "\" & msgFileName
If dlgSaveAs.Show = -1 Then
strCurrentFile = dlgSaveAs.SelectedItems(1)
If Right(strCurrentFile, 4) <> ".pdf" Then
Response = MsgBox("Sorry, only saving in the pdf-format is supported." & _
vbNewLine & vbNewLine & "Save as pdf instead?", vbInformation + vbOKCancel)
If Response = vbCancel Then
wrdDoc.Close 0
If bStarted Then wrdApp.Quit
Exit Sub
ElseIf Response = vbOK Then
intPos = InStrRev(strCurrentFile, ".")
If intPos > 0 Then
strCurrentFile = Left(strCurrentFile, intPos - 1)
End If
strCurrentFile = strCurrentFile & ".pdf"
End If
End If
wrdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:= _
strCurrentFile, _
ExportFormat:=17, _
OpenAfterExport:=False, _
OptimizeFor:=0, _
Range:=0, _
From:=0, _
To:=0, _
Item:=0, _
IncludeDocProps:=True, _
KeepIRM:=True, _
CreateBookmarks:=0, _
DocStructureTags:=True, _
BitmapMissingFonts:=True, _
UseISO19005_1:=False
End If
Set dlgSaveAs = Nothing
wrdDoc.Close
If bStarted Then wrdApp.Quit
Set MyOlNamespace = Nothing
Set MySelectedItem = Nothing
Set wrdDoc = Nothing
Set wrdApp = Nothing
Set oRegEx = Nothing
End Sub
3. Press F5 key to enable File Save dialog, select a folder to place the file and give it a name.
4. Click Save.
Tip: If the code cannot run, you may try to go to Trust Center to check the Enable all macros option in Macro Settings section.
Convert batch emails to separated PDF files with Save as File utility
With above methods, you only can save one message as a PDF file at a time, if you want to batch convert multiple emails to separated PDF files, you can try Kutools for Outlookβs Bulk Save utility.
Kutools for Outlook, Includes powerful features and tools for Microsoft Outlook 2016, 2013, 2010 and Office 365. |
||
Free install Kutools for Outlook, and then do as below steps:
1. Select the emails you want to convert, and then click Kutools > Bulk Save.
2. In the Save message as other files dialog, select a path to locate the file, and check PDF format option, you can check the options about saving contents in right section.
3. Click Ok.
Now the emails have been converted to PDF files.
Save as File
Best Office Productivity Tools
Kutools for Outlook - Over 100 Powerful Features to Supercharge Your Outlook
β Email Automation: Auto Reply (Out of Office) / Schedule Send emails / Auto CC/BCC / Advanced Auto Forward / Auto Add Greating ...
β Email Management: Easily Recall Emails / Block Scam Emails / Delete Duplicate Emails / πAdvanced Search / Consolidate Folders ...
π Attachments Pro: Batch Save / Batch Detach / Batch Compress / Auto Save / Auto Detach / Auto Compress ...
π Interface & Interaction Magic: πMore Pretty and Cool Emojis / Brings Browser Tabs Right Into Your Outlook / Minimize Outlook Instead of Closing ...
π One-click Wonders: Reply All with Incoming Attachments / Anti-Phishing Emails / πShow Sender's Time Zone / Send to Recipients Separately ...
π©πΌβπ€βπ©π» Contacts & Calendar: Batch Add Contacts From Selected Emails / Split a Contact Group to Individual Groups / Remove Birthday Reminders ...
Over 100 Features Await Your Exploration! Click Here to Discover More.