I have Outlook 2010. I get emails with the same subject line, with a PDF to open. When the PDF is open, Adobe asks if I want to add it to an Excel response file, and I say yes.
I'd like to have it respond with "Okay" when Adobe asks about adding to the response file, but I can manage without it. At this line:
Set SubFolder = Mailbox.Folders("Response File")
I am getting an error:
The attempted operation failed. An object could not be found.
The subfolder where the unread emails are is called "!Response File" (without quotes) underneath my Inbox. After having the PDF opened, I'd like to mark the email as read, and moved to another subfolder (under Inbox) called "Extracted" (without quotes).
Sub GetAttachments()
On Error GoTo GetAttachments_err
Dim ns As NameSpace
Dim Inbox As MAPIFolder
Dim SubFolder As MAPIFolder
Dim Item As Object
Dim Atmt As Attachment
Dim FileName As String
Dim i As Integer
Set ns = GetNamespace("MAPI")
Set Inbox = ns.GetDefaultFolder(olFolderInbox)
Set Mailbox = Inbox.Parent
Set SubFolder = Mailbox.Folders("!Response File")
i = 0
'check if there is any mail in the folder'
If SubFolder.Items.Count = 0 Then
MsgBox "There are no messages in the folder.", vbInformation, _
"Nothing Found"
Exit Sub
End If
'Check each message and save the attachment'
If SubFolder.Items.Count > 0 Then
For Each Item In SubFolder.Items
If Item.UnRead = True Then
For Each Atmt In Item.Attachments
FileName = "C:\Users\abrupbac\Desktop\Response Emails\" & Atmt.FileName
Atmt.SaveAsFile FileName 'saves each attachment'
'this code opens each attachment'
Set myShell = CreateObject("WScript.Shell")
myShell.Run FileName
'this sets the email as read'
Item.UnRead = False
'updates the counter'
i = i + 1
Next Atmt
End If
Next Item
End If
'Display results
If i > 0 Then
MsgBox "I found " & i & " attached files." _
& vbCrLf & "They are saved on your desktop" _
& vbCrLf & vbCrLf & "Have a nice day.", vbInformation, "Finished!"
Else
MsgBox "I didn't find any attached files in your mail.", vbInformation, _
"Finished!"
End If
'Replenish Memory'
GetAttachments_exit:
Set Atmt = Nothing
Set Item = Nothing
Set ns = Nothing
Exit Sub
'function for sorting the excel attachment'
GetAttachments_err:
MsgBox "An unexpected error has occurred." _
& vbCrLf & "Please note and report the following information." _
& vbCrLf & "Macro Name: GetAttachments" _
& vbCrLf & "Error Number: " & Err.Number _
& vbCrLf & "Error Description: " & Err.Description _
, vbCritical, "Error!"
Resume GetAttachments_exit
End Sub