Save Outlook 2003 E-mail Attachments Automatically

In Outlook 2007 Add-in: Saving Outlook e-mail attachments automatically, author Robert Martim demonstrates how to write an add-in for Outlook 2007 using VSTO that saves file attachments on incoming e-mails automatically.

I've demonstrated the same using VBA in Outlook 2003 below. It uses the stock event code I use when creating event handlers in Outlook.

Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
Dim objNS As Outlook.NameSpace
  Set objNS = GetNamespace("MAPI")
  Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub Items_ItemAdd(ByVal item As Object)

  On Error GoTo ErrorHandler

  Dim filePath As String
  Dim atts As Outlook.Attachments
  Dim att As Outlook.Attachment
  Dim Msg As Outlook.MailItem

  filePath = Environ("userprofile") & "\Desktop\E-Mail Attachments\"

  If Dir(filePath, vbDirectory) = "" Then
    MkDir filePath
  End If

  If TypeName(item) <> "MailItem" Then GoTo ProgramExit

  Set Msg = item

  ' loop through attachments, save each one to folder
  Set atts = Msg.Attachments

  For Each att In atts
    With att
      .SaveAsFile filePath & .DisplayName
    End With
  Next att

ProgramExit:
  Exit Sub
ErrorHandler:
  MsgBox Err.number & " - " & Err.Description
  Resume ProgramExit
End Sub

The path is hardcoded; if it doesn't exist, we'll create it. Then we'll loop through the Attachments collection of the incoming email and save each one to the designated folder.

Related Articles:

About JP

I'm just an average guy who writes VBA code for a living. This is my personal blog. Excel and Outlook are my thing, with a sprinkle of Access and Word here and there. Follow this space to learn more about VBA. Keep Reading »

Share This Article:

Share and bookmark this articledelicious buttonfacebook buttonlinkedin buttonstumbleupon buttontwitter button

comment bubble 2 Comments:

  1. Heston writes:

    I have been scanning the web looking for a way to count the number of emails per day in a given folder. I have been very impressed with your blog and thought you might have some suggestions. Any help or point in the right direction will be greatly appreciated.

Note: Comments are subject to the Blog Comment Policy and may not appear immediately. To post VBA code in your comment, use code tags like this: [vb]your code goes here[/vb]

Add a Comment:

*

Site last updated: February 3, 2012