PC Review
Forums
Newsgroups
Microsoft Outlook
Microsoft Outlook VBA Programming
Help to modify the code
Forums
Newsgroups
Microsoft Outlook
Microsoft Outlook VBA Programming
Help to modify the code
![]() |
Help to modify the code |
|
|
Thread Tools | Rate Thread |
|
|
#1 |
|
Guest
Posts: n/a
|
Hi,
Below is the code to download attachemnt from outlook. I wish to name the saved file as the subject of the email. Please help me.. i am poor in coding, i can just record macros. This code i got from the community. Thanks a lot. Its very imp for me. Boss Sub GetAttachments() ' This Outlook macro checks a the Outlook Inbox for messages ' with attached files (of any type) and saves them to disk. ' NOTE: make sure the specified save folder exists before ' running the macro. On Error GoTo GetAttachments_err ' Declare variables Dim ns As NameSpace Dim Inbox 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) i = 0 ' Check Inbox for messages and exit of none found If Inbox.Items.Count = 0 Then MsgBox "There are no messages in the Inbox.", vbInformation, _ "Nothing Found" Exit Sub End If ' Check each message for attachments For Each Item In Inbox.Items ' Save any attachments found For Each Atmt In Item.Attachments ' This path must exist! Change folder name as necessary. FileName = "C:\Email Attachments\" & Atmt.FileName Atmt.SaveAsFile FileName i = i + 1 Next Atmt Next Item ' Show summary message If i > 0 Then MsgBox "I found " & i & " attached files." _ & vbCrLf & "I have saved them into the C:\Email Attachments folder." _ & vbCrLf & vbCrLf & "Have a nice day.", vbInformation, "Finished!" Else MsgBox "I didn't find any attached files in your mail.", vbInformation, "Finished!" End If ' Clear memory GetAttachments_exit: Set Atmt = Nothing Set Item = Nothing Set ns = Nothing Exit Sub ' Handle errors 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 |
|
|
|
#2 |
|
Guest
Posts: n/a
|
Change
FileName = "C:\Email Attachments\" & Atmt.FileName to FileName = "C:\Email Attachments\" & Item.Subject Keep in mind this code may fail because you are declaring 'Item' as an Object and AFAIK not all possible Inbox items have a 'Subject' property. HTH, JP On Dec 19, 1:52 pm, Boss <B...@discussions.microsoft.com> wrote: > Hi, > > Below is the code to download attachemnt from outlook. > I wish to name the saved file as the subject of the email. > Please help me.. i am poor in coding, i can just record macros. > This code i got from the community. > > Thanks a lot. Its very imp for me. > Boss > > Sub GetAttachments() > ' This Outlook macro checks a the Outlook Inbox for messages > ' with attached files (of any type) and saves them to disk. > ' NOTE: make sure the specified save folder exists before > ' running the macro. > On Error GoTo GetAttachments_err > ' Declare variables > Dim ns As NameSpace > Dim Inbox 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) > i = 0 > ' Check Inbox for messages and exit of none found > If Inbox.Items.Count = 0 Then > MsgBox "There are no messages in the Inbox.", vbInformation, _ > "Nothing Found" > Exit Sub > End If > ' Check each message for attachments > For Each Item In Inbox.Items > ' Save any attachments found > For Each Atmt In Item.Attachments > ' This path must exist! Change folder name as necessary. > FileName = "C:\Email Attachments\" & Atmt.FileName > Atmt.SaveAsFile FileName > i = i + 1 > Next Atmt > Next Item > ' Show summary message > If i > 0 Then > MsgBox "I found " & i & " attached files." _ > & vbCrLf & "I have saved them into the C:\Email Attachments folder." _ > & vbCrLf & vbCrLf & "Have a nice day.", vbInformation, "Finished!" > Else > MsgBox "I didn't find any attached files in your mail.", > vbInformation, "Finished!" > End If > ' Clear memory > GetAttachments_exit: > Set Atmt = Nothing > Set Item = Nothing > Set ns = Nothing > Exit Sub > ' Handle errors > 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 |
|
|
|
#3 |
|
Guest
Posts: n/a
|
All Outlook items implement the Subject property.
-- Ken Slovak [MVP - Outlook] http://www.slovaktech.com Author: Professional Programming Outlook 2007 Reminder Manager, Extended Reminders, Attachment Options http://www.slovaktech.com/products.htm "JP" <jp2112@earthlink.net> wrote in message news:8ba444d9-272d-405d-9289-44938ebe7814@c4g2000hsg.googlegroups.com... > Change > > FileName = "C:\Email Attachments\" & Atmt.FileName > > to > > FileName = "C:\Email Attachments\" & Item.Subject > > > Keep in mind this code may fail because you are declaring 'Item' as an > Object and AFAIK not all possible Inbox items have a 'Subject' > property. > > > HTH, > JP |
|
|
|
#4 |
|
Guest
Posts: n/a
|
It worked.. many many many thanks.. It was really imp for me..
Gaurav "Ken Slovak - [MVP - Outlook]" wrote: > All Outlook items implement the Subject property. > > -- > Ken Slovak > [MVP - Outlook] > http://www.slovaktech.com > Author: Professional Programming Outlook 2007 > Reminder Manager, Extended Reminders, Attachment Options > http://www.slovaktech.com/products.htm > > > "JP" <jp2112@earthlink.net> wrote in message > news:8ba444d9-272d-405d-9289-44938ebe7814@c4g2000hsg.googlegroups.com... > > Change > > > > FileName = "C:\Email Attachments\" & Atmt.FileName > > > > to > > > > FileName = "C:\Email Attachments\" & Item.Subject > > > > > > Keep in mind this code may fail because you are declaring 'Item' as an > > Object and AFAIK not all possible Inbox items have a 'Subject' > > property. > > > > > > HTH, > > JP > > |
|
|
|
#5 |
|
Guest
Posts: n/a
|
Thanks Ken, couldn't remember.
--JP On Dec 19, 3:35 pm, "Ken Slovak - [MVP - Outlook]" <kenslo...@mvps.org> wrote: > All Outlook items implement the Subject property. > > -- > Ken Slovak > [MVP - Outlook]http://www.slovaktech.com > Author: Professional Programming Outlook 2007 > Reminder Manager, Extended Reminders, Attachment Optionshttp://www.slovaktech.com/products.htm > > "JP" <jp2...@earthlink.net> wrote in message > > news:8ba444d9-272d-405d-9289-44938ebe7814@c4g2000hsg.googlegroups.com... > > > > > Change > > > FileName = "C:\Email Attachments\" & Atmt.FileName > > > to > > > FileName = "C:\Email Attachments\" & Item.Subject > > > Keep in mind this code may fail because you are declaring 'Item' as an > > Object and AFAIK not all possible Inbox items have a 'Subject' > > property. > > > HTH, > > JP |
|
![]() |
|
| Thread Tools | |
| Rate This Thread | |
|
|

Main Page 

