Link to home
Start Free TrialLog in
Avatar of localmagic
localmagic

asked on

Prevent Outlook Contact Birthday records from generating a reminder

Hi,

I have written a VB program to add Outlook contact records from a third party source.  It works great except for one detail.

The contacts have birthday fields filled in.  Since I have close to 500 contacts, I now get reminders every day that it's somebody's birthday, and I really don't want to know this.

I don't want to disable all reminders, for I use them for other tasks, appointments, etc.  I would like to only disable the reminders for the contact records, ideally when I am adding them.

I found the .ReminderSet parameter, but it does not appear to apply to contactitems.  Is there a way for me to specify at the creation time of the contact NOT to create the reminder?

many thanks...
ASKER CERTIFIED SOLUTION
Avatar of Mike McCracken
Mike McCracken

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
POST CODE PLEASE.

-Brian
Avatar of localmagic
localmagic

ASKER

We would like to leave the birthday in the record for reference, but that was the only other way I could think of too!
Code is something like this...

With ContactItems.Add
        .Title = RS!Salut & ""
        .FirstName = RS!FstName & ""
        .MiddleName = RS!MidInit & ""
        .LastName = RS!LstName & ""
        .Suffix = RS!namesuf & ""
        ....etc..etc...etc
           
        .Birthday = RS!DOB & ""
               
        .Save
I've actually given up on the Birthday field entirely at this point, since there does not seem to be anyway to prevent the reminders.  

Is there a way to delete these reminders I have accumulated??  This doesn't seem to do the trick...

Sub DeleteBirthdays()
'
    Dim olApp As Outlook.Application
    Dim objRem As Reminder
    Dim objRems As Reminders

    Set olApp = Outlook.Application
    Set objRems = olApp.Reminders
       
    ' Loop thru all reminders
    If olApp.Reminders.Count <> 0 Then
        For Each objRem In objRems
            If Right(objRem.Caption, 8) = "Birthday" Then
                objRem.Item.Delete
            End If
        Next objRem
    End If
       
End Sub
For anybody suffering with the same sort of problem, here's some final notes...

1) There doesn't seem to be anyway to prevent the reminders if you use the birthday field.

2) If you have Exchange 2003 without SP1, the reminders cannot be dismissed in some cases.  This is caused by a COM component buffer overflow, apparently triggered when Exchange has to process too many bits of data at once (like when I tried to add 500 contact records at once).  SP1 (at this point) seems to resolve the COM issue.

Hope this helps somebody someday...
Glad i could help

mlmcc