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.
Save or Export Multiple emails to other fomat files(PDF/HTML/WORD/EXCEL) in Outlook
|Sometimes, you may want to save or export the emails to a folder as other format files, such as PDF, Word or Excel files in Outlook. In Outlook, neither of the Save as and Export function can handle this job. However, Kutools for Outlook's Save as file utility can export multiple emails to a folder as files with multiple formats at once time . Click for 45 days free trial!|
|Kutools for Outlook: with dozens of handy Outlook add-ins, free to try with no limitation in 45 days.|
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.
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.
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 Save as File utility.
|Kutools for Outlook, Includes 100+ powerful features and tools for Microsoft Outlook 2019, 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 > Save as File.
2. In the Save message as other files dialog, select a path to locate the file, and check PDF format option.
3. Click Ok.
4. Now a dialog box will come out and tell you how many emails have been converted to PDF files. Please click the OK button to close it.
Now the emails have been converted to PDF files.
Recommended Productivity Tools
- Complicated and repeated operations can be done a one-time processing in seconds.
- Forward multiple emails individually with one-click, and auto forward by rules.
- Auto CC/BCC every sending email and easy for customizing rules, and auto reply without requiring exchange server.
- Powerful junk emails filter, remove duplicate emails, reply with attachment, bunch of one-click operations, and so on...
- 60-day unlimited free trial. 60-day money back guarantee. 2 years free upgrade and support. Buy once, use forever.