Search code examples
vbaoutlookoutlook-2010

Download attachments from specific folder in Outlook


I am not familiar with vba enough to modify this for my needs.

I need to download the attachments from a specific folder.

I found this example, but I am not sure how to get the folder where these emails are sent to.

I have a rule that when these emails come in, it places them into a different folder.

This where I want to run the macro so it only strips the attachments from these emails and places them on the local computer folder.

What parts do I need to change to get this to work for my needs?

Public Sub SaveAttachments(Item As Outlook.MailItem)

If Item.Attachments.Count > 0 Then

Dim objAttachments As Outlook.Attachments
Dim lngCount As Long
Dim strFile As String
Dim sFileType As String
Dim i As Long

Set objAttachments = Item.Attachments
    lngCount = objAttachments.Count
 For i = lngCount To 1 Step -1

' Get the file name.
 strFile = objAttachments.Item(i).FileName

 ' Get the path to your My Documents folder
    strfolderpath = CreateObject("WScript.Shell").SpecialFolders(16)
    strfolderpath = strfolderpath & "\Attachments\"

' Combine with the path to the folder.
 strFile = strfolderpath & strFile

' Save the attachment as a file.
 objAttachments.Item(i).SaveAsFile strFile

 Next i
End If

End Sub

Solution

  • To open a folder on the same level as your Inbox, open Inbox, then go one level up to its parent, then retrieve your folder by name:

    set MyFolder = Application.Session.GetDefaultFolder(olFolderInbox).Parent.Folders.Item("My Folder Name")