[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 129
  • Last Modified:

Download attachment from outlook

Hi,

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.
Download-Attachment.zip
0
Legolas786
Asked:
Legolas786
  • 5
  • 2
1 Solution
 
Martin LissRetired ProgrammerCommented:
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
    Next
  End If

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

Open in new window

0
 
Nick67Commented:
Ok,

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.
Download-Outlook-Attachments-My-Version.
0
 
Legolas786Author Commented:
Hi what format is the file as i am unable to open it?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Nick67Commented:
EE bug with the extra long name I expect.
Right-click it and save it as test1.xls
0
 
Nick67Commented:
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
frmdownloadattchmts.TextBox1.Value
You need to substitute in a cell value, too
0
 
Legolas786Author Commented:
hi, i tried that but it says that file is corrupted?
0
 
Nick67Commented:
Give me a bit
0
 
Nick67Commented:
Ok,
Subfolder of Inbox in A1
Destination in A2
click the button
SaveAttms.xls
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 5
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now