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!
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)
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.
Related
I have outlook 2011 in my mac. I have more than 30,000 emails in my mail box and would like to search from all the mails based on inputs.
Now using Advanced find I can do that , But for each and every value I have to add a new search criteria
eg . Subject contains xxx
Subject contains yyy
Subject contains zzz
it would be very difficult for me to add the search value manually if I have 1000 values to search for.
Is there any effective way to do this or do we some plugin which would read from input file and populate these vales ?
Any help would be really appreciated
I think, you can get little bit help from this -- http://derflounder.wordpress.com/2011/04/26/finding-the-hidden-search-options-in-outlook-2011/ , also this one too - https://www.gvsu.edu/cms3/assets/428A2C9A-0FB7-5B0C-BBFCF723C12E59E3/outlook_mac_search_email.pdf
In Windows version of Outlook there is a hidden tab that can be enabled by creating a new registry key HKEY_CURRENT_USER\Software \Microsoft\Office\12.0\Outlook\QueryBuilder. See here (sroll to Building DASL Queries).
This adds SQL tab to Filter dialog of Customize Current View. Here you can write a text with DASL query. The query for your example would look like this:
("urn:schemas:httpmail:subject" LIKE '%xxx%' AND
"urn:schemas:httpmail:subject" LIKE '%yyy%' AND
"urn:schemas:httpmail:subject" LIKE '%zzz%')
You can create script that takes all keywords from a text file and formats them like
"urn:schemas:httpmail:subject" LIKE '%MyKeyword%'
and construct the DASL query prorgamatically from a text file. You can store your generated queries as text files and copy them in the SQL tab as necessary.
This solution is surely far from perfect but it is relatively easy to implement. The problem is that I do not know how to enable that tab in Outlook 2011 on Mac nor whether it is possible at all. I do not have a Mac so take this rather as a hint.
First of, is there any real documentation of the toolkit ? What I would like is to specify a range of selectable dates. For example I don't want to display dates before today. If the user select a start date of Jan. 27th 2012, I want to allow only dates after these for the return date
Documentation is a little bit sparse for the toolkit - your best bet is to look in the source of the sample app but they don't cover all the scenarios.
The default control doesn't seem to support a minimum or maximum value for the selected date, but if you download the source you should be able to modify it according to your needs. The layout of the source is pretty straightforward and you should be able to find an acceptable place to add the code, the only thing you need to decide is how you handle it from a UI perspective. In my opinion, you are better off handling the range check once the control returns - if it is an invalid date, pop up a message and re-show the control.
I've found that in the absence of documentation, the WindowsPhoneGeek blog (in this specific case see link here) usually does a good job of explaining the Silverlight Toolkit components in their various articles.
These articles can be a great help when following ZombieSheep's advice of taking a look at the toolkit sample code.
As part of our installation procedure we have to install Adobe Acrobat XI. According to Adobe:
The basic formula for constructing and decoding the GUID is as follows:
Acrobat: Example: AC76BA86-1033-F400-7760-100000000002
[product family]-[language code]-[additional languages]-[product type]-
[license type][major version][major minor version]
Since I know the key is located in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall and I know the key starts with {AC76BA86- I would like to simply search for the key(s) that begin with that sequence so I can inspect it to determine if we need to install Acrobat.
Is there a way to do a partial registry key search in InstallShield's install script?
Adobe is bastardizing their product codes and I really DON'T suggest playing along with that game.
However, if you read section 2.11.3 you'll see that all readers share the common UpgradeCode of A6EADE66-0000-0000-484E-7E8A45000000.
What this allows you to do is use the Upgrade Table / FindRelatedProducts to search for ProductCodes based on this UpgradeCode. Use the "Detect Only" setting and the ProductCode found will be assigned to the Property of your choosing.
No custom actions, no bastardized ProductCode GUIDS. Simple, easy... "It Just Works".
Looks like the best way to do this was to use RegDBQueryKey(<registry path>, REGDB_KEYS, <returnList>) to get a list of subkeys and then inspect each key in the list to see if it started with the partial value I was looking for.
First of, is there any real documentation of the toolkit ? What I would like is to specify a range of selectable dates. For example I don't want to display dates before today. If the user select a start date of Jan. 27th 2012, I want to allow only dates after these for the return date
Documentation is a little bit sparse for the toolkit - your best bet is to look in the source of the sample app but they don't cover all the scenarios.
The default control doesn't seem to support a minimum or maximum value for the selected date, but if you download the source you should be able to modify it according to your needs. The layout of the source is pretty straightforward and you should be able to find an acceptable place to add the code, the only thing you need to decide is how you handle it from a UI perspective. In my opinion, you are better off handling the range check once the control returns - if it is an invalid date, pop up a message and re-show the control.
I've found that in the absence of documentation, the WindowsPhoneGeek blog (in this specific case see link here) usually does a good job of explaining the Silverlight Toolkit components in their various articles.
These articles can be a great help when following ZombieSheep's advice of taking a look at the toolkit sample code.
Pre-2008 event log entries (of type EVENTLOGRECORD) had an EventType member that could be EVENTLOG_ERROR_TYPE, EVENTLOG_AUDIT_FAILURE, etc.
Since Vista, now there are Level and Keyword values instead of EventType. I've searched high and low for what values Level and Keyword could hold but can't find any references.
Are there any official docs on this? I'd hate to try and guess by looking at a lot of existing event log entries and hoping I guess right.
Thanks!
EDIT: Found some docs
http://msdn.microsoft.com/en-us/library/aa382793(v=VS.85).aspx
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/wes/wes/eventmanifestschema_keywordtype_complextype.htm
I don't have the SDK header files in front of me, but I found the following information for the EventLogRecord managed class:
EventLogRecord.Level
EventLogRecord.Keywords