2012-08-13 29 views
4

我編程的Outlook插件,需要確定一個選擇的電子郵件是否來自InboxSent Items,這樣我可以標記電子郵件文件夾=「收件箱」或當我將它保存在我的數據庫中時發送。確定所選的電子郵件是從收件箱或發送項目

據我所知,我可以將文件夾名稱與收件箱或已發送郵件進行比較並確定文件夾,但是,如何確定所選電子郵件何時位於收件箱中的某個子文件夾中。是否有FolderType屬性,查看所選郵件的文件夾是否是收件箱發送類似識別物品類型與OlItemType)?

回答

5

您需要查看MailItem.Parent並將其轉換爲Outlook.Folder。一旦擁有Folder,您可以通過Folder.Name訪問顯示名稱。如果要確定所選項目是否爲Inbox的子文件夾,則需要遞歸調用Parent樹,直到Parent爲空以查找根父文件夾。

Outlook.Explorer explorer = Globals.ThisAddIn.Application.ActiveExplorer(); 
Outlook.MailItem mailItem = explorer.Selection.OfType<Outlook.MailItem>().First(); 
Outlook.Folder parentFolder = mailItem.Parent as Outlook.Folder; 
if (parentFolder.Parent == null) // we are at the root 
{ 
    string folderName = parentFolder.Name; 
} 
else 
    // .. recurse up the parent tree casting parentFolder.Parent as Outlook.Folder... 

您應該明顯增加錯誤處理對象處置這個示例代碼。

相關問題