• Subject: Save Attachments to directory based on attachment name
  • Author: whoslacks
  • Date: 19 Jun
  • References:
Hello everyone - I am being a pain in the butt and if anyone does take the time to help me out I will really apperciate it. (For what that is worth, right) - that being said, as you are an experianced programmer and I am a novice hack... tell me if this is something to complex to be fishing for on the groups as I won't learn otherwise. What I am looking for: I want to create a macro that when run will take a look at all emails in the inbox and save them to a subdirectory folder of C:\TD ; that subdirectory will be determined by the name of the attachment. Caveats: I am on Exchange 2003 and Outlook 2007 The mailbox I want to process is not my primary Outlook account but rather an additional exchange mailbox that I have added to my account. For the purposes of example I will call my additional mailbox box2 below. The attachments are always going to be named 123456_Description.tif. When the attachments are saved in the c:\TD folder I would like a directory to be created named 123456 with the directory containing the file 123456_Description.tif One email could have multiple attachments. I would then like email to move to the delete items folder after it is processed. Walking through the process: Email comes into box2 inbox with two attachments 54454_docname.tif and 77745_docname_state.tif Macro runs Creates directories c:\TD\554454 and c:\TD\77745 Creates files c:\TD\54454\54454_docname.tif and c:\TD \77745\77745_docname_state.tif Email moved to box2 "Deleted Items" Check for any additional emails in box2 inbox and repeat if necessary, otherwise stop One other caveat I just thought of, it is possible that the directory could already exist as I could get a single email with two attachments 12345_mydoc.tif and 12345_otherdoc.tif In that instance I would like the directory to be c:\TD\12345\ and have it contain both 12345_mydoc.tif and 12345_otherdoc.tif My code so far: Public Sub SaveTDAttachments() Dim Inbox As MAPIFolder Dim Item As MailItem Dim Atmt As Attachment Dim FileName As String Dim i As Integer Dim olns As Outlook.NameSpace Set Inbox = olns.Folders("box2") For Each Item In Inbox.Items For Each Atmt In Item.Attachments FileName = "C:\td\" & Atmt.FileName Atmt.SaveAsFile FileName Next 'Item.Delete Next Set Inbox = Nothing End Sub comments on my code: 1 . it doesn't work 2. I don't have the logic for the directory creation 3. I don't know how to tell it to look for an existing directory 4. I don't know how to tell it to create the directory based on the attachment name text preceding the first _ 5. I don't know if Item.Delete will move it to the box2 deleted items folder or just delete it 6. I don't know how to tell it to look at box2 inbox That is it... Thank you much!
19 JunSave Attachments to directory based on attachment name.whoslacks
19 Jun\ Re: Save Attachments to directory based on attachment name.Michael Bauer [MVP - ...
All times are in (US) Eastern Daylight Time (GMT -4:00)