Skip to content

Solution: Synchronize Outlook 2007 contact Birthday to Blackberry

July 17, 2007

This is a step by step guide to create a solution so that you can synchronize the birthday of outlook contacts to the blackberry device.

This is an upgraded version from my earlier blog posting. Please read it if you want to know the reasons why this was created.
Note: the guide is on outlook 2007, but you can modify it for Outlook 2003/2000 etc, the buttons may looks different/in another positions for those versions, but they should work the same.

Background information

Too many people has been asking this question: Why can’t synchronize the birthdays from the contacts in outlook to my blackberry device? The short answer is that the programmers uses "date" format in outlook and BB programmer didn’t think anyone want to see it in the contact application. Hence there is no equivalent ‘date’ in the blackberry contact applicaiton to hold the information. The solution is to convert this ‘date’ format into a ‘string’ format (ie computer jargon).

My solution is to
a) Modify the contact form in Outlook
b) Program this form to automatically copy birthdays to another spare field, for example User 1 to User 4. In this example I use User2. After being copied, User2 will contain the birthday but is in a format that Blackberry likes.
c) Get my Blackberry Desktop Manager to map User2 in outlook 2007 to the User 2 in Blackberry contact application.
d) Convert my existing contacts in outlook2007 (using the standard contact form) to the new form that automates my solution.

Okay lets get started

1) Launch Outlook and right click on the contact folder as shown

2) Select "Properties" from the drop down list

3 to 5) Select IPM.Contacts as shown. We do this because we want to work on the original pure contact form

6) Double click this region to add a new contact

7) Click on the Developer tab. If this tab is not shown, type "Developer" in the search bar of outlook and microsoft will inform you how to turn on this tab for your version.

8) Click on "Design this form"

9) When the form open, click on the "View Code"…we are going to do a very simple programming to this form

10) When the window opens, type in the follow EXACTLY. This is VBScript

or copy and paste as follows:

Function Item_Open()

                    Blackberry()

End Function

Sub Item_PropertyChange(ByVal Name)

                     Select Case Name

                                  Case "Birthday"

                                  Blackberry()

                      End Select

End Sub

Sub Blackberry()

                       If NOT item.Birthday = #1/1/4501# Then

                      item.User2 = "Birthday is " & item.Birthday

                      item.Save

                      End If

End Sub

Close the window when you are done and the code will be automatically saved to the form your are designing.

11 to 15) I drew the wrong NUMBER here, just bare with me:

Click on the Properties tab

Type in 1.0 in the versions form. In the future, when you program or modify the forms, you can increment this number.

15) Click Publish

16) Click Publish Form

17) In the dialog, you can select other "folders" to store the new form, I would suggest leave this to "Outlook Folders" as shown

18) Enter the name of the form you want to use, mine is "BlackberryContacts"

19) Publsih the form to the folder you have chosen.

20) You are back in the main screen. Right click on the contacts folder, then select properties

20a) I drew the wrong numbers again….so bare with me again.

Select the form that you have designed with the programming code, here shown is "BlackberryContacts"

Press Okay

21) Double click this area to add a new contact, notice that here shows "Click here to adda new BlackberryContacts"

22) Click on the General

23) Enter a dummy contact name, I choose "A Tester" as it will be easier to find later.

24) Click on Details

25) Enter the birthday, lets say 20/03/1968

25a) Click on ALL fields

26) Click to open the drop down list

27) Select the "Miscellaneous Fields"

28) As shown, the birthday has been automatically copied from the outlook contact field

Birthday to the User Field 2

End of steps

Note: Change the mapping of the synchronization for your blackberry. Map User Field 2 to any spare field inside Blackberry (I map it to the spare User2 field in blackberry. Do a synchronization and you will find the BIRTHDAY of your contact showing up.!!!

Note2: If you want to select some existing contacts and change it to this new form, you would need to create a macro to do so in bulk. Follow the steps in my blog here. This macro would save you time to re-enter the birthdays

Please let me know if there are any bugs, comments or better ways. Thanks

Advertisement: Need to backup your precious data with a free online service? I recommend mozy

9 Comments
  1. Ryan permalink

    someone has asked if you can synchronise the anniversary field. yes, just extend the theory and use the spare field User3. Copy and paste this replacement codes. REMEMBER to map the Blackberry fieldsFunction Item_Open()                                            Blackberry()    End FunctionSub Item_PropertyChange(ByVal Name)    Select Case Name        Case "Birthday"            Blackberry()        Case "Anniversary"            Blackberry()    End SelectEnd Sub    Sub Blackberry()    If NOT item.Birthday = #1/1/4501# Then                           item.User2 = "Birthday is " & item.Birthday                    item.Save      End If    If NOT item.Anniversary = #1/1/4501# Then                           item.User3 = "Anniversary is " & item.Anniversary                    item.Save      End IfEnd Sub

  2. Kris Garbet permalink

    Great work! Works great for me. Just wondering if its possible to sync from the blackberry to outlook? 
    For example, if I get the contacts birthday wrong and i correct it on my blackberry, is there a way to have it sync back to outlook? 

  3. Denise permalink

    how do u do it in outlook 2003? where is view code page? 

  4. Ryan permalink

    My apology to Kris and Denise for replying late, didn\’t have time to check on my blog….
     
    I have written an email to Kris, the short answer to his question is YES, the longer answer is that the programming code is so troublesome that I suggest if there is a \’mistake\’, create a task in blackberry to remind oneself to adjust the birthdate to the correct one (from the outlook 2007 side) is easier.
     
    For Denise, I don\’t have 2003 version anymore, so I know it\’s there somewhere (check my earlier blog), but I can\’t remember how to access the \’view code\’

  5. Haneen permalink

    thanks for your help on this.  is there anyway to have all day occurances like the birthdays and anniversaries appear on the today screen – similiar to the way it works on mobile pc?
     
    thanks again!

  6. Ryan permalink

    Can be done, but only via programming outlook because BB does not synchronise the birthday/anniverary to the calender by default. It\’s a bit extensive to implement (the code is simple, but the management of the code may be difficult for most user). Let me think about it, and find out if there is a program that wil do that.
     

  7. Haneen permalink

    Thanks for looking into it 🙂

  8. raphael permalink

    this is great. thanks. now how do i convert my already existing contacts to the new BlackBerry form? i\’d like the contacts i am already syncing to have this feature

  9. Ryan permalink

    For those who wanted to change their forms and then mass convert their old outlook contact (from old forms) to the new one, please take a look at the end of this blog….under Note 2, there is another macro to do it.However, note that after running the mass conversion macro, Outlook will NOT automatically update the birthday as it has a build in safety mechanism. You need to \’trigger\’ each and every contact so that it will update itself. To do so, you can open and then close EACH contact (try a few and you will see the changes). If you have less than 128 contacts you can select ALL then open ALL But if >128 contacts then outlook will freeze. A faster way would be to create a new empty personal folder file (under File->Data File Management and Add a new one, then copy ALL the contacts over, then back…..it will trigger the new updated form and you can synchronize the birthdays

Leave a comment