2008-09-16 9 views
3

J'essaie d'écrire du code C# pour accéder à un dossier spécifique dans une boîte aux lettres Outlook. J'ai le code suivant:Utilisation de l'API Outlook pour accéder à un dossier spécifique

Outlook.Application oApp = new Outlook.Application(); 
Outlook.NameSpace oNS = oApp.GetNamespace("mapi"); 
Outlook.Recipient oRecip = oNS.CreateRecipient("AccountNameHere"); 
oRecip.Resolve(); 
if (oRecip.Resolved) 
{ 
    oInbox = oNS.GetSharedDefaultFolder(oRecip, Outlook.OlDefaultFolders.olFolderInbox); 
    oInboxMsgs = oInbox.Items; 
    ItemCount = oInboxMsgs.Count; 
    Console.Writeline("There are {0] items.", ItemCount.ToString()) 
} 

Cela me mènera au dossier "Boîte de réception". J'essaie d'accéder à un dossier au même niveau que le dossier Boîte de réception. Je crois que je dois utiliser GetFolderFromID au lieu de GetSharedDefaultFolder, mais je ne comprends pas comment l'utiliser. Existe-t-il un moyen de parcourir tous les dossiers de niveau supérieur? Comment puis-je déterminer l'EntryID et StoreID du dossier?

Merci!

Répondre

5

Vous pouvez utiliser le membre de collection Folders de l'objet Outlook.NameSpace. De cette façon, vous pouvez parcourir la collection et trouver votre dossier par son nom. Si vous souhaitez toujours utiliser GetFolderFromID, vous pouvez utiliser l'outil OutlookSpy pour obtenir les valeurs EntryID et StoreID.

Questions connexes