3 Ways to Download all Attachments from Outlook

Go through this guide to learn all the ways

Reading time icon 5 min. read


Readers help support Windows Report. We may get a commission if you buy through our links. Tooltip Icon

Read our disclosure page to find out how can you help Windows Report sustain the editorial team. Read more

Key notes

  • Microsoft allows you to download all the attachments attached to the email in one go.
  • Likewise, you can download attachments from multiple attachments using the VB code.
  • Go through this guide to learn the step-by-step process to download multiple attachments.

outlook download all attachments

As a professional user, downloading tons of attachments from the emails received in Outlook can be monotonous and time-consuming. 

Fortunately, you can easily download multiple attachments from one email in Outlook at once without having to hit the Save button for each of them. Furthermore, it is also possible to download multiple attachments present in multiple emails through a simple workaround. 

If you are curious to know the step-by-step procedure, stay with us as we guide you through the procedure.  

How do I download all attachments from an email?

1. Using the desktop app

  1. Launch the Microsoft Outlook app on your Windows PC.
  2. Look for and open that email in the reading pane from which you download the attachments.
  3. Switch to the Attachments section from the top menu bar, right-click one of the file attachments in the right section, and select Save all attachments in the drop-down menu. 
  4. Press the Ctrl key and select all the attachments you wish to download in the small dialog box that opens. 
  5. Press the OK button after selecting the required attachments. 
  6. A new Save as pop-up to save your attachments will open. Browse to the folder where you want to save the attachment files and press the OK button on the bottom right to initiate the attachment download. outlook download all attachments

You can easily download all the files attached to an email at once instead of downloading each file individually. 

2. Using the web app

  1. Access theย Microsoft Outlook web appย using your preferred web browser and provide your login credentials when prompted to sign in.ย 
  2. Select the Inbox folder from the left menu bar in the Home section of the web app.ย outlook download all attachments
  3. Double-click the email in question to view the email contents in a new window.ย 
  4. Click the Download all button to download the attachments in the form of a ZIP file.ย outlook download all attachments
  5. Choose the download location and press the OK button if the Save as the dialog box opens up.ย 

This is a straightforward method to download all the email attachments from one email if you prefer the web app instead of the Outlook app. 

How do I download all attachments from multiple emails?

Note icon NOTE
You can try this method only if you are using Outlook 2019, 2016, 2013, 2010, 2007, or 2003.

1. Create a new folder

  1. Use the Windows + E shortcut to launch File Explorer.ย 
  2. Navigate to the Documents folder from the left sidebar.
  3. Right-click anywhere on the right section and choose New followed by Folder from the context menu. outlook download all attachments
  4. Double-click the folder name and rename it as Attachments.

2. Create a VBA script

  1. Now launch the Outlook app on your Windows PC. 
  2. Choose the File option and then select Options from the left sidebar. 
  3. Select Customize Ribbon from the left panel of the Word Options window. outlook download all attachments
  4. Select the Developer option in the Main Tabs and press the Plus icon to add Developer mode to the Outlook ribbon menu. 
  5. Close the Word Options popup and then select Developer Mode followed by Visual Basic from the main menu. 
  6. Select Project1 displayed as default and then select Insert followed by Module to access the Module window. 
  7. Now copy and paste the following code into Module1 and close the window. 
Dim GCount As Integer
Dim GFilepath As String
Public Sub SaveAttachments()
'Update 20200821
Dim xMailItem As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xSelection As Outlook.Selection
Dim i As Long
Dim xAttCount As Long
Dim xFilePath As String, xFolderPath As String, xSaveFiles As String
On Error Resume Next
xFolderPath = CreateObject("WScript.Shell").SpecialFolders(16)
Set xSelection = Outlook.Application.ActiveExplorer.Selection
xFolderPath = xFolderPath & "\Attachments\"
If VBA.Dir(xFolderPath, vbDirectory) = vbNullString Then
    VBA.MkDir xFolderPath
End If
GFilepath = ""
For Each xMailItem In xSelection
    Set xAttachments = xMailItem.Attachments
    xAttCount = xAttachments.Count
    xSaveFiles = ""
    If xAttCount > 0 Then
        For i = xAttCount To 1 Step -1
            GCount = 0
            xFilePath = xFolderPath & xAttachments.Item(i).FileName
            GFilepath = xFilePath
            xFilePath = FileRename(xFilePath)
            If IsEmbeddedAttachment(xAttachments.Item(i)) = False Then
                xAttachments.Item(i).SaveAsFile xFilePath
                If xMailItem.BodyFormat <> olFormatHTML Then
                    xSaveFiles = xSaveFiles & vbCrLf & "<Error! Hyperlink reference not valid.>"
                Else
                    xSaveFiles = xSaveFiles & "<br>" & "<a href='file://" & xFilePath & "'>" & xFilePath & "</a>"
                End If
            End If
        Next i
    End If
Next
Set xAttachments = Nothing
Set xMailItem = Nothing
Set xSelection = Nothing
End Sub

Function FileRename(FilePath As String) As String
Dim xPath As String
Dim xFso As FileSystemObject
On Error Resume Next
Set xFso = CreateObject("Scripting.FileSystemObject")
xPath = FilePath
FileRename = xPath
If xFso.FileExists(xPath) Then
    GCount = GCount + 1
    xPath = xFso.GetParentFolderName(GFilepath) & "\" & xFso.GetBaseName(GFilepath) & " " & GCount & "." + xFso.GetExtensionName(GFilepath)
    FileRename = FileRename(xPath)
End If
xFso = Nothing
End Function

Function IsEmbeddedAttachment(Attach As Attachment)
Dim xItem As MailItem
Dim xCid As String
Dim xID As String
Dim xHtml As String
On Error Resume Next
IsEmbeddedAttachment = False
Set xItem = Attach.Parent
If xItem.BodyFormat <> olFormatHTML Then Exit Function
xCid = ""
xCid = Attach.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F")
If xCid <> "" Then
    xHtml = xItem.HTMLBody
    xID = "cid:" & xCid
    If InStr(xHtml, xID) > 0 Then
        IsEmbeddedAttachment = True
    End If
End If
End Function

3. Run the VBS script

  1. Switch to the Developer Mode and then select Visual Basic from the Outlook ribbon. outlook download all attachments
  2. Select Module1 and hit the F5 key to run the code. 
  3. Click the Save Attachment button after selecting the attachments to confirm the action. 

VBA scripts enable you to automate the attachment download process in Microsoft Outlook. However, you should proceed carefully with the VBA scripts to avoid damaging your computer.  

Thatโ€™s all in this guide! Hope you are aware of the different ways you can easily download all email attachments from the Microsoft Outlook app. 

If you run into the Something went wrong error in the Outlook app, try the solutions suggested in this guide. 

If you have any queries, or you know about other methods, let us know in the comments section.ย 

More about the topics: Outlook, Outlook Guides

User forum

0 messages