2012-10-18 93 views
1

我打電話排序上的Outlook文件夾,收到的時間試圖排序項目時。然而,當文件夾中包含非電子郵件項目(一個Task),我得到一個錯誤說,ReceivedTime屬性不存在。問題在Outlook文件夾

oFolderItems := oFolder.Items; 
oFolderItems.sort('ReceivedTime',2); //2 = Descending 

的原因排序是:對於某些用戶可能有成千上萬,我訪問該文件夾中的電子郵件,他們只希望看到一個最新的X號。

如何避免非電子郵件項目任何提示嗎?

+0

oFolder是如何定義的; Outllok的目標是什麼? –

+1

oFolder通常是收件箱文件夾。 – Mike

回答

2

您可以使用DASL Filter來限制給定的ViewItems集合中顯示的項目。對於過濾只是郵件,你可以使用Message Class屬性(MAPI名PR_MESSAGE_CLASS),並將其限制只是IPM.Note_Items.Restrict方法將幫助您應用DASL過濾器。

string messageClassFilter = "@SQL=" + "\"" + "http://schemas.microsoft.com/mapi/proptag/0x001a001e" + "\"" + " LIKE 'IPM.Note%'"; 
oFolderItems := oFolder.Items.Restrict(messageClassFilter); // filter by Message Class 
oFolderItems.sort('ReceivedTime',2); //2 = Descending