'Outlook Advanced Search on property GlobalAppointmentID
Alright so I'm needing some help here. I working with Outlook 2007 PIA (Outlook add-in) and using the advanced search. I'm trying to write a DASL filter for the AppointmentItem property GlobalAppointmentID but I cannot seem to find the correct namespace to use in the filter.
I've tried urn:schemas:calendar:uid and I do not get any results when searching on the first appointment in the default calendar list. The MSDN documentation states that this is a mapi property but I am unfamiliar with mapi so at the moment I do not know how to even find it in the msdn that way (I tried and ended up way over my head).
I know there is a work around to go to the default folder and iterate through the collection to find the object that I need but I consider that too inefficient (I'm using it at the moment but want to improve it).
Any help would be appreciated!
Solution 1:[1]
OOM will not let you search for GlobalAppointmentId
(or any other PT_BINARY
property) in Items.Find
/FindNext/Restrict
. The only workaround is to either loop through all item in the Calendar folder (extremely inefficient) or search using Extended MAPI (C++ or Delphi only) or Redemption (I am its author - any language, its version of RDOFolder
.Items.Find
allows to search on GlobalAppointmentId
or any other binary property)
Solution 2:[2]
Not every property can be used in a filter string for Items.Restrict
, Table.Restrict
or Application.AdvancedSearch
methods. For both Jet and DASL queries, you cannot restrict on a binary property such as EntryID
or GlobalAppointmentID
. Also you cannot restrict or search for computed properties.
Anyway, you may find the Chapter 11: Searching Outlook Data helpful.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 |