title: Reference subfolder of Inbox to move mail
body: <p>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.</p>
  
  <p>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:</p>
  
  <pre><code>Set SubFolder = Mailbox.Folders("Response File")
  </code></pre>
  
  <p>I am getting an error: </p>
  
  <blockquote>
    <p>The attempted operation failed. An object could not be found.</p>
  </blockquote>
  
  <p>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).</p>
  
  <pre><code>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 &gt; 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\" &amp; 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 &gt; 0 Then
      MsgBox "I found " &amp; i &amp; " attached files." _
       &amp; vbCrLf &amp; "They are saved on your desktop" _
       &amp; vbCrLf &amp; vbCrLf &amp; "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." _
    &amp; vbCrLf &amp; "Please note and report the following information." _
    &amp; vbCrLf &amp; "Macro Name: GetAttachments" _
    &amp; vbCrLf &amp; "Error Number: " &amp; Err.Number _
    &amp; vbCrLf &amp; "Error Description: " &amp; Err.Description _
    , vbCritical, "Error!"
    Resume GetAttachments_exit
  End Sub
  </code></pre>