2008-09-16 1 views
3

Outlook 사서함의 특정 폴더로 이동하기 위해 일부 C# 코드를 작성하려고합니다. 다음 코드를 가지고 있습니다 :Outlook API를 사용하여 특정 폴더로 이동

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()) 
} 

이렇게하면 "받은 편지함"폴더로 이동하게됩니다. 받은 편지함 폴더와 같은 수준의 폴더로 이동하려고합니다. GetSholderFromID 대신 GetSharedDefaultFolder를 사용해야한다고 생각합니다.하지만 사용 방법을 이해하지 못합니다. 모든 최상위 폴더를 반복 할 수있는 방법이 있습니까? 폴더의 EntryID와 StoreID는 어떻게 결정합니까?

감사합니다.

답변

5

Outlook.NameSpace 개체의 Folders 컬렉션 멤버를 사용할 수 있습니다. 이렇게하면 컬렉션을 반복하고 이름으로 폴더를 찾을 수 있습니다. GetFolderFromID를 계속 사용하려면 OutlookSpy 도구를 사용하여 EntryID 및 StoreID 값을 가져올 수 있습니다.