Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get Folder from Outlook using C# & GetFolderFromID EntryIdStore

Tags:

outlook

I'm trying to get a specific folder in outlook with c#. Someone else had the same issue here Using Outlook API to get to a specific folder but when using the Folders collection I'm not sure how to get through the folders collection. I mean, I've looked at the type of object that the Folders collection returns and it looks like it's a Folders object. But when I try to use that in a loop it gives me an invalid cast exception. I also hoped I could use the GetFolderFromID method to give it the string name of the folder but that doesn't want to work either... but I also can't find an example of how to use it so I'm not sure I'm coding it correctly. Here's an example of what I tried. Anyone know how to get the Processed folder which is on the same level as the Inbox folder? Thanks.

        MAPIFolder oProcessed = null;
        foreach (var folder in oNS.Folders)
            if (folder.ToString() == "Processed")
            {
                oProcessed = (MAPIFolder)folder;
            }

        if (oProcessed == null)
            throw new Exception("Missing processed folder.");
like image 414
geoff Avatar asked Aug 16 '26 13:08

geoff


1 Answers

you need to get hold of the root level mailbox folder

 Outlook.MAPIFolder rootFolder=  Application.Session.DefaultStore.GetRootFolder();

Then loop through the rootFolder folders collection check in the names

Outlook.MAPIFolder processedFolder = null;
          foreach (Outlook.MAPIFolder folder in rootFolder.Folders)
          {
              if (folder.Name == "Processed")
              {
                  processedFolder = folder;
                  break;
              }
          }

Check out http://msdn.microsoft.com/en-us/library/bb176810.aspx to get you head round the API.

Marcus

like image 156
76mel Avatar answered Aug 19 '26 21:08

76mel



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!