Save selected E-mail attachment from outlook using c#

Posted on 2009-05-13
Last Modified: 2012-05-06

My name is Jeremy and I'm trying to make an addin in outlook 2007 to be able to save selected attachment directly in a specific folder. I've tried a lot of stuff but I'm only able to save all attachments from selected mail (see code below). I would like to save only the attachment I've selected...

Do you have any idea?

Many thanks.

private void button4_Click(object sender, EventArgs e)


            Outlook.Explorer currExplorer = App.ActiveExplorer();

            Outlook.MAPIFolder folder = App.ActiveExplorer().CurrentFolder;

            Outlook.Items inBoxItems = folder.Items;

            Outlook.MailItem item = null;



                Outlook.Selection selections = currExplorer.Selection;

                for (int i = 1; i == selections.Count; ++i)


                    object newEmail = (object)selections[i];

                    if (newEmail != null && (newEmail is Outlook.MailItem))


                        item = (Outlook.MailItem)newEmail;

                        if (item.Attachments.Count > 0)


                            for (int j = 1; j <= item.Attachments.Count; j++)


                                item.Attachments[j].SaveAsFile(@"C:\TestFileSave\" +item.Attachments[j].FileName);






            catch (Exception ex)


                string errorInfo = (string)ex.Message.Substring(0, 11);

                if (errorInfo == "Cannot save")


                    MessageBox.Show("Please create destination folder");




Open in new window

Question by:Jerem1981
LVL 83

Accepted Solution

CodeCruiser earned 500 total points
Comment Utility
You could develop a form which would show all the attachements in a list to the user. The user can then select which one to save. You can not determine the selected attachement from Outlook.

Author Comment

Comment Utility
ok, thanks for your reply. I've done this. I've inserted a listview and then I take the attachment name from this list and I compare ti know wich one to save.



Expert Comment

Comment Utility
I have created a similar list view, but I would like to display the size of each attachment in the listview. Can this be done without saving the attachments?

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Join & Write a Comment

Learn more about how the humble email signature can be used as more than just an electronic business card. When used correctly, a signature can easily be tailored for different purposes by different departments within an organization.
Check out this infographic on what you need to make a good email signature that will work perfectly for your organization.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now