Getting a Outlook MailItem from a Ribbon Event

Posted by Jon Bullen on 2010-02-28
Estimated Reading Time 1 Minutes
Words 132 In Total

You may find this code block handy: [csharp] /// /// Gets the mail item selected in the explorer view if one is selected or instance if that is the view active. /// /// The instance containing the event data. /// A Outlook.MailItem for the mail being viewed. private Outlook.MailItem GetMailItem(RibbonControlEventArgs e) { // Check to see if a item is select in explorer or we are in inspector. if (e.Control.Context is Outlook.Inspector) { Outlook.Inspector inspector = (Outlook.Inspector)e.Control.Context; if (inspector.CurrentItem is Outlook.MailItem) { return inspector.CurrentItem as Outlook.MailItem; } } if (e.Control.Context is Outlook.Explorer) { Outlook.Explorer explorer = (Outlook.Explorer)e.Control.Context; Outlook.Selection selectedItems = explorer.Selection; if (selectedItems.Count != 1) { return null; } if (selectedItems[1] is Outlook.MailItem) { return selectedItems[1] as Outlook.MailItem; } } return null; } [/csharp]

If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you!