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


How to print all attachments in one/multiple emails in Outlook?

As you know, it will only print the email content such as header, body when you click the File > Print in Microsoft Outlook, but not print the attachments. Here we will show you how to print all attachments in a selected email at ease in Microsoft Outlook.

Print all attachments in one email message one by one

Batch print all attachments in one email message

Batch print all attachments in multiple selected emails

Quickly save/export all attachments from multiple emails in Outlook

Normally we can save attachments from one email with activating the Attachment Tools and applying the Save All Attachments feature in Outlook. But, what if saving attachments from multiple emails, or from the whole mail folder in Outlook? Try Kutools for Outlook's Detach All (Attachments) feature. Click for 60-day free trial without limitation!
save attachments in multiple emails kto9

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.

arrow blue right bubble Print all attachments in one email message one by one

Microsoft Outlook provides us with Quick Print feature, which can help you print attachments in an email message one by one.

1. Select the email message whose attachments you will print later.

2. Click one attachment in this email.

3. Click the Quick Print button in the Actions group on the Attachments tab.

Note: the Attachment Tools won’t be activated until you click attachments in emails.

4. An Opening Mail Attachments comes out, and please click the Open button in it.

Please note that this step will open the selected attachment, and print this selected attachment at the same time.

To print other attachments in this email, please repeat the Step 2 to Step 4.

arrow blue right bubble Batch print all attachments in one email message

If there are many attachments in the selected email message, it will be time-consuming to print them one by one. And the follow method will walk you through batch printing all attachments in one email messages easily.

1. Select the email message whose attachments you will print later.

2. In Outlook 2010 or later versions, please click the File > Print > Print Options. See the following screen shot:

3. In the Print dialog box, Please check the Print attached files. Attachments will print to the default printer only. option in the Print options section.

4. Click the Print button.

5. In the popping out Opening Mail Attachment dialog box, please click the Open button to go ahead. (Note: This dialog box will pop out for each attachment separately.)

Now all attachments in this selected email message will be printed together.

arrow blue right bubble Batch print all attachments in multiple selected emails

To print all attachments in multiple emails in Outlook, please follow below steps to apply the VBA code.

1. In the mailing list, please hold Ctrl or Shift keys to select multiple emails whose attachments you will print.

2. Press Alt + F11 keys together to open the Microsoft Visual Basic for Applications window.

3. Click Insert > Module, and then paste below VBA code into the new module window.

VBA: Print all attachments in multiple Outlook emails

Sub PrintAllAttachmentsInMultipleMails()

Dim xFileSystemObj, xShellApp As Object
Dim xNameSpace, xNameSpaceItem, xItem As Object
Dim xTempFldPath, xFilePath As String
Dim xSelItems As Outlook.Selection
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment On Error Resume Next

Set xFileSystemObj = CreateObject("Scripting.FileSystemObject")

xTempFldPath = xFileSystemObj.GetSpecialFolder(2).Path & "\Attachments " & Format(Now, "yyyymmddhhmmss") 'xFileSystemObj.GetSpecialFolder(2) For saving temporary files 

If xFileSystemObj.FolderExists(xTemfldpath) = False Then 'create temporary folder

xFileSystemObj.CreateFolder (xTempFldPath)

End If

Set xSelItems = Outlook.ActiveExplorer.Selection

Set xShellApp = CreateObject("Shell.Application")

Set xNameSpace = xShellApp.NameSpace(0)

For Each xItem In xSelItems

If xItem.Class = OlObjectClass.olMail Then

Set xMailItem = xItem

Set xAttachments = xMailItem.Attachments

For Each xAttachment In xAttachments

xFilePath = xTempFldPath & "\" & xAttachment.FileName

xAttachment.SaveAsFile (xFilePath)

Set xNameSpaceItem = xNameSpace.ParseName(xFilePath)

xNameSpaceItem.InvokeVerbEx ("print")


End If

Set xItem = Nothing
Set xNameSpaceItem = Nothing
Set xNameSpace = Nothing
Set xShellApp = Nothing
Set xFileSystemObj = Nothing
End Sub

4. Press F5 key or click the Run button to run this VBA code.
Now all attachments in the selected emails are printed out.

Demo: print one or all attachments in an Outlook email

Tip: In this Video, Kutools tab is added by Kutools for Outlook. If you need it, please click here to have a 60-day free trial without limitation!


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.
    stefano · 3 months ago
    if a pdf has the same name the macro prints just one pdf, how can i change the code in order to modify the pdf name?
  • To post as a guest, your comment is unpublished.
    Coreen · 1 years ago
    if you want to print all attachments together in 1 email here's what you do. first make a folder on your desktop....I named mine "print". go to the email with the attachments....highlight all of the attachments, right click, save all attachments to the print folder. Open the print folder.....highlight all of them.....right click.....print.

    now if only I could figure out how to print all the attachments in 200 emails without opening each one and printing it.
  • To post as a guest, your comment is unpublished.
    Susan · 2 years ago
    Agree with Leah, this does not work. It just prints out the main body of the email and the first attachment, not all of them. Need instructions on how to print them all using "select all" options shown above.
  • To post as a guest, your comment is unpublished.
    Leah · 2 years ago
    I could figure this part out for myself - what I'm trying to figure out is why, despite doing that, attachments wouldn't print. An error message pops up for each attachment asking if I want to "open" or "save". Choosing either option produces exactly those results - in other words, still no print, just an open or save. I have 20 attachments from 4 emails. I really don't want to have to open 80 documents just to be able to print them. There is clearly some "save me from myself" security setting that needs to be obliterated so that I can use my own computer and the operating system I bought and paid for. THAT'S what I need to know.
  • To post as a guest, your comment is unpublished.
    Ken Heart · 5 years ago
    This is very useful, but doesn't help me with Office 365??