Solution: Synchronize Outlook 2007 contact Birthday to Blackberry
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
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
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?
how do u do it in outlook 2003? where is view code page?
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\’
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!
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.
Thanks for looking into it 🙂
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
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