2017-06-15 90 views
0

好的,所以我需要一些幫助。我使用Outlook 2007 PIA(Outlook加載項)並使用高級搜索。我正在嘗試爲AppointmentItem屬性GlobalAppointmentID編寫一個DASL篩選器,但似乎無法找到在篩選器中使用的正確名稱空間。Outlook上的高級搜索GlobalAppointmentID

我試過urn:schemas:calendar:uid,並且在默認日曆列表中的第一個約會中搜索時沒有得到任何結果。 MSDN文檔指出,這是一個mapi屬性,但我對mapi不熟悉,所以目前我不知道如何甚至在msdn中找到它(我試過並最終結束了我的頭)。

我知道有一個解決方案去默認文件夾並遍歷集合來找到我需要的對象,但我認爲效率太低(我現在正在使用它,但想改進它) 。

任何幫助,將不勝感激!

回答

0

並非每個屬性都可用於Items.RestrictTable.RestrictApplication.AdvancedSearch方法的過濾器字符串中。對於Jet和DASL查詢,您不能限制二進制屬性,如EntryIDGlobalAppointmentID。您也無法限制或搜索計算屬性。

無論如何,你可能會發現Chapter 11: Searching Outlook Data有幫助。

0

OOM不會讓您在Items.Find/FindNext/Restrict中搜索GlobalAppointmentId(或任何其他PT_BINARY屬性)。唯一的解決方法是循環瀏覽日曆文件夾中的所有項目(效率非常低)或使用擴展MAPI(僅限C++或Delphi)或Redemption(任何語言,它的版本RDOFolderItemsFind允許搜索GlobalAppointmentId或任何其他二元屬性)