Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Outlook and VBA (http://www.outlookbanter.com/outlook-vba/)
-   -   How to detect that an AppointmentItem is a birthday? (http://www.outlookbanter.com/outlook-vba/74626-how-detect-appointmentitem-birthday.html)

Lincoln Ramsay July 4th 08 01:26 AM

How to detect that an AppointmentItem is a birthday?
 
Hello,

I've got code (not VBA but using the object model) to synchronize
appointments and contacts from Outlook to an external source. There is a
problem though because Outlook shows contact birthdays as calendar events. I
would like to detect and suppress these calendar events because the remote
system also has this logic and it leads to multiple calendar events existing
for each birthday.

I've looked at the docs but I can't see how I might detect that an
AppointmentItem is a birthday. Can this be done?

--
Link



Lincoln Ramsay July 4th 08 02:36 AM

How to detect that an AppointmentItem is a birthday?
 
"Lincoln Ramsay" wrote in message
...
I've looked at the docs but I can't see how I might detect that an
AppointmentItem is a birthday. Can this be done?


Ok... I think I found a way to get this from MAPI...

There is a named property (GUID {00062008-0000-0000-C000-000000000046}, ID
0x8586) that appears to be the Contact's name. This is present on birthday
and anniversary events but not on regular events.

Ugly, but no different to the code I already had to get contact email
addresses via MAPI (to avoid the security dialogs).

--
Link



Dmitry Streblechenko July 4th 08 08:12 AM

How to detect that an AppointmentItem is a birthday?
 
Itis called ContactLinkName (there are also ContactLinkSearchKey and
ContactLinkEntry properties: 0x8584 and 8585), but AFAIK it will be set only
in Outlook 2007.

--
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
-
"Lincoln Ramsay" wrote in message
...
"Lincoln Ramsay" wrote in message
...
I've looked at the docs but I can't see how I might detect that an
AppointmentItem is a birthday. Can this be done?


Ok... I think I found a way to get this from MAPI...

There is a named property (GUID {00062008-0000-0000-C000-000000000046}, ID
0x8586) that appears to be the Contact's name. This is present on birthday
and anniversary events but not on regular events.

Ugly, but no different to the code I already had to get contact email
addresses via MAPI (to avoid the security dialogs).

--
Link





Sue Mosher [MVP-Outlook] July 4th 08 02:40 PM

How to detect that an AppointmentItem is a birthday?
 
Such items will be all-day events with "Birthday" or "Anniversary" in the
Subject property. If you need more confirmation than that, you can extract
the person's name from the Subject, get their contact record and compare the
birthday value for the contact with the Start date for the appointment.
--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook Programming: Jumpstart
for Administrators, Power Users, and Developers
http://www.outlookcode.com/jumpstart.aspx



"Lincoln Ramsay" wrote:

Hello,

I've got code (not VBA but using the object model) to synchronize
appointments and contacts from Outlook to an external source. There is a
problem though because Outlook shows contact birthdays as calendar events. I
would like to detect and suppress these calendar events because the remote
system also has this logic and it leads to multiple calendar events existing
for each birthday.

I've looked at the docs but I can't see how I might detect that an
AppointmentItem is a birthday. Can this be done?

--
Link





All times are GMT +1. The time now is 11:37 PM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com