Just tested and that worked! Thank you for your help. So, if I wanted to tell it to save excel file item # 3 of 3 attachments for example, I would need to insert 3.......Set objAtt = itm.Attachments(3)?
Thanks again your help is much appreciated.
It's not always that easy to grab a specific attachment.
Example: the MailItem does have 3 Excel files attached and one screenshot embedded. Now you have 4 attachments in total. And if Outlook does not get the order right, it may be that the screenshot is exactly the attachment #3. Sometimes, you even have attachments that are not visible within the MailItem, but hidden. I had to work trough such stuff myself, and it can be quite frustrating.
Now you have several options:
1) if you're sure that the MailItems do only have Excel files attached, then you can simply skip the For loop and grab attachment #3 (if there are at least 3 Excel files attached; you can check the attachment number with itm.Attachments.Count).
2) if it is not about the 3rd Excel file, but rather the last Excel file to be found, you can rewrite the loop:
For i = 1 To itm.Attachments.Count => For i = itm.Attachments.Count To 1 Step -1 will process it backwards.
3) if it is indeed about the 3rd Excel file, and you also have other attachments within the MailItem, then you will first have to filter for Excel files (i.e. to build an array where you e.g. store the Excel files' file names), and then grab the 3rd argument of the array (or rather the argument #2, as arrays start with 0).
To build a macro for option 3) can be a bit time-consuming, and I don't have a sample code for Outlook that I could provide.