Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In this post we will see how to assign a web page to a specific Outlook folder programmatically using C# and Outlook Object Model. For this I tried the following sample, which checks for a folder named “HtmlView” in Microsoft Office Outlook. If the folder does not exist, the code creates the folder and assigns a Web page to it. If the folder exists, the code displays the folder contents.
The following sample is written using C#.Net, Visual Studio 2010 and Outlook 2010 (Outlook Object Model API).
Code snippet:
1: //Microsoft.Office.Interop.Outlook._Application
2: // Create an Outlook application.
3: Outlook._Application oApp = new Outlook.Application();
4:
5: // Get the MAPI NameSpace and Logon values.
6: Outlook._NameSpace oNS = (Outlook._NameSpace)oApp.GetNamespace("MAPI");
7: oNS.Logon(Missing.Value, Missing.Value, true, true);
8:
9: //Assign a Web page with a specific Outlook folder
10: Outlook.MAPIFolder newView = null;
11: string viewName = "HtmlView";
12: Outlook.MAPIFolder inBox = (Outlook.MAPIFolder) oApp.ActiveExplorer().Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
13: Outlook.Folders searchFolders = (Outlook.Folders)inBox.Folders;
14: bool foundView = false;
15:
16: foreach (Outlook.MAPIFolder searchFolder in searchFolders)
17: {
18: if (searchFolder.Name == viewName)
19: {
20: newView = inBox.Folders[viewName];
21: foundView = true;
22: }
23: }
24:
25: if (!foundView)
26: {
27: newView = (Outlook.MAPIFolder)inBox.Folders. Add("HtmlView", Outlook.OlDefaultFolders.olFolderInbox);
28: newView.WebViewURL = "https://www.microsoft.com";
29: newView.WebViewOn = true;
30: }
31:
32: oApp.ActiveExplorer().SelectFolder(newView);
33: oApp.ActiveExplorer().CurrentFolder.Display();
Run the sample and you will see the following output in Outlook:

Happy programming!!