Download attachment from outlook

Posted on 2014-12-04
Medium Priority
Last Modified: 2014-12-06

I was hoping some of the more experienced VBA users will be able to help me with some coding please? This has been driving me insane.  I have a demo program which works perfectly fine, On the treeview I am able to select a sub folder within my inbox, I am able to click browse and when I click on the get attachment button it downloads the attachment fine.  I am trying to do the same on my excel program, the only difference is that I require no treeview, no textbox and no browse button.  The textbox (destination) will be coded in, also the subfolder in my inbox will be coded in (so I have a sub folder called Test inside my inbox folder).  I have tried to edit the coding but I get

An unexpected error has occurred.
Please note and report the following information
Macro GetAttachments
Error Number:91
Error Description Object variable or with block variable not set

I have attached the demo program and my my version which is based from the demo program.  I would really appreciate any help.
Question by:Legolas786
  • 5
  • 2
LVL 52

Expert Comment

by:Martin Liss
ID: 40481207
This is from the web

Public Function GetFolder(strFolderPath As String)As MAPIFolder
  ' strFolderPath needs to be something like 
  '   "Public Folders\All Public Folders\Company\Sales" or
  '   "Personal Folders\Inbox\My Folder"

  Dim objApp As Outlook.Application
  Dim objNS As Outlook.NameSpace
  Dim colFolders As Outlook.Folders
  Dim objFolder As Outlook.MAPIFolder
  Dim arrFolders() As String
  Dim I As Long
  On Error Resume Next

  strFolderPath = Replace(strFolderPath, "/", "\")
  arrFolders() = Split(strFolderPath, "\")
  Set objApp = Application
  Set objNS = objApp.GetNamespace("MAPI")
  Set objFolder = objNS.Folders.Item(arrFolders(0))
  If Not objFolder Is Nothing Then
    For I = 1 To UBound(arrFolders)
      Set colFolders = objFolder.Folders
      Set objFolder = Nothing
      Set objFolder = colFolders.Item(arrFolders(I))
      If objFolder Is Nothing Then
        Exit For
      End If
  End If

  Set GetFolder = objFolder
  Set colFolders = Nothing
  Set objNS = Nothing
  Set objApp = Nothing
End Function

Open in new window

LVL 26

Expert Comment

ID: 40481364

Clearly your sample isn't complete.
I have got it past it's first hurdle, opening Outlook correctly
Here it is back.

It doesn't compile because you haven't yet put in where it's getting folders from etc.
On error Goto is an EVIL thing.
Especially when your DEVELOPING -- as it keeps you from finding your errors.
At best, turn that on in the very end after you are certain no bugs remain.

Author Comment

ID: 40481381
Hi what format is the file as i am unable to open it?
7 new features that'll make your work life better

It’s our mission to create a product that solves the huge challenges you face at work every day. In case you missed it, here are 7 delightful things we've added recently to monday to make it even more awesome.

LVL 26

Expert Comment

ID: 40481385
EE bug with the extra long name I expect.
Right-click it and save it as test1.xls
LVL 26

Expert Comment

ID: 40481411
Your next hurdle is that the userform did this
Set oFldrList = oNameSpace.GetDefaultFolder(olFolderInbox)
You need to do it, now too, in GetAttachments

The userform used to pass in Name
GetAttachments(Name As String)
Name was the subfolder of inbox to parse
You need to make this equal to a cell value after parsing it to see if it exists

You've gotten rid of
You need to substitute in a cell value, too

Author Comment

ID: 40481412
hi, i tried that but it says that file is corrupted?
LVL 26

Expert Comment

ID: 40481417
Give me a bit
LVL 26

Accepted Solution

Nick67 earned 1000 total points
ID: 40481488
Subfolder of Inbox in A1
Destination in A2
click the button

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

600 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question