Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in


How to save email as pdf file in Outlook?

If you are working with Microsoft Outlook 2010 and 2007, you will find that there is no build-in in Outlook to change the email to pdf format. You need to convert the email to pdf file by some related add-ins or with VBA code. With the following article, you will easily save email as pdf file in Outlook.

Save email as pdf file in Outlook with VBA code

Bulk save multiple emails as pdf file or other file formats with Bulk Savegood idea3

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!
doc export email to msg 8
Kutools for Outlook: with dozens of handy Outlook add-ins, free to try with no limitation in 45 days.
Kutools for Outlook: 100+ New Advanced Tools for Outlook.
Office Tab: Enable Tabbed Editing and Browsing in Office, Just Like Chrome, Firefox, IE 8/9/10.
Classic Menu: Bring Old Menus and Toolbars Back to Office 2007, 2010, 2013, 2016 and 2019.

Save email as pdf file in Outlook with VBA code

1. Firstly you should select the email that you want to save as PDF.

2. Press Alt + F11 to launch the Microsoft Visual Basic for Applications window.

3. Click Insert > Module, then copy and paste the following VBA code to the Module window.

The VBA code of saving email as PDF file:

Sub SaveAsPDFfile()
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, _
End If
Set dlgSaveAs = Nothing
If bStarted Then wrdApp.Quit
Set MyOlNamespace = Nothing
Set MySelectedItem = Nothing
Set wrdDoc = Nothing
Set wrdApp = Nothing
Set oRegEx = Nothing
End Sub

Note: This VBA code have successfully tested in Outlook 2007 and 2010

4. Click to run the code.

5. There will be a File Save dialog popping up while the code is running. Select a path to save the file, name it, and finally click on Save button.

6. When the code finish running, the email have successfully converted to pdf file.

Bulk save multiple emails as pdf file or other file formats with Bulk Save

With Kutools for Outlook installed, you can use its Bulk Save utility to quickly save or export the selected emails to PDF files/Excel files/CSV files or other file formats.

1. In an email folder, select the messages you want to save as PDF, click Kutools > Bulk Save.
doc save email as pdf 3

2. In the Bulk Save dialog, select a path to place the new files, check PDF format, and you can specify the Save content as you need.
doc save email as pdf 4

3. Click Ok. Then the selected emails have been saved as PDF files individually.
doc save email as pdf 5


Recommended Productivity Tools

shot kutools outlook kutools tab 1180x121
shot kutools outlook kutools plus tab 1180x121

Kutools for Outlook - More than 100 Advanced Functions for Outlook, Improve 70% Efficiency For you

  • 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.
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Amaury · 10 months ago
    Hi !!
    I have follow all the instructions but it doesn't work, " Compile error : Syntax error"
    Can you help me ? Please
  • To post as a guest, your comment is unpublished.
    Shashank Soni · 1 years ago
    This macro is really great and easy to use as well,thank you so much for sharing this.
    Just wanted to check is it possible to create same kind of macro for PDF attachment as well,because the above macro works only for excel and word format.

    Can any one one help me on this.
  • To post as a guest, your comment is unpublished.
    mac · 2 years ago
    I am wondering how I could change the folder the pdf goes to and change the filename(since all the emails I am copying are called the same thing
  • To post as a guest, your comment is unpublished.
    Kade · 2 years ago
    Been wondering how to do this for years, very easy, thank you
  • To post as a guest, your comment is unpublished.
    Mar · 2 years ago
    Hi All,

    PDF is saving in default size and I can't see all text, tables, etc. from email. How can I fix that? Is it any way to save email as PDF file in responsive size?