This is a discussion on Contact's Birthday does not show up in Calendar! within the iPhone forums, part of the Apple iPhone category; He Guys. I found this thread yesterday and tried to code a little script in Outlook to solve the problem. ...
He Guys. I found this thread yesterday and tried to code a little script in Outlook to solve the problem. I think, my script do the same thing like the commercial plug-in by the other forum-lady, but for free.
I use Outlook 2003 und wrote it with the internal VBA-ToolBox.
Sub ContactDateCheck()
Dim myOlApp As Outlook.Application
Dim myNamespace As Outlook.NameSpace 'wird auf die aktuelle Outlook-App referenziert
Dim myContacts As Outlook.Items 'beinhaltet die gesamte Kontaktliste
Dim myItem As Object 'Durchläuft alle Objekte aus myContacs
Dim bkUp As Date 'Hier wird das richtige Datum drinne gespeichert
Dim objRem As Reminder
Dim objRems As Reminders
Dim vglInt As Integer
Set myOlApp = CreateObject("Outlook.Application")
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Ite ms 'Hier sind jetzt alle Kontakte im Standardordner gespeichert
'Alle Reminders zusammenstellen und prüfen, ob es nicht schon einen gibt
Set objRems = myOlApp.Reminders
For Each myItem In myContacts 'Schleife, damit jeder Kontakt bearbeitet wird
If (myItem.Class = olContact) Then 'Wenn es ein Kontakt ist
If objRems.Count <> 0 Then 'Wenn es Reminder gibt
For Each objRem In objRems 'Alle Reminder durchluafen
If vglInt = 0 Then
vglInt = Strings.InStr(1, objRem.Caption, myItem.LastName, vbTextCompare) 'Falls es einen Reminder mit dem Geburtstag gibt für die entsprechende Person
If vglInt <> 0 Then
vglInt = Strings.InStr(1, objRem.Caption, myItem.FirstName, vbTextCompare)
If vglInt <> 0 Then
vglInt = Strings.InStr(1, objRem.Caption, "Geburtstag", vbTextCompare) 'prüft, ob es wirklich ein Geburtstag ist
End If
End If
End If
Next objRem
If vglInt = 0 Then 'wenn es sowas gibt, dann soll keine neue Erinnerung erstellt werden
bkUp = myItem.Birthday 'speichert den aktuellen Kontakt als Backup
myItem.Birthday = bkUp 'setzt halt wieder auf das selbe Datum, dabei wird der automatische Reminder gesetzt
MsgBox myItem.FullName & " Innere: " & myItem.Birthday & ": " & "Verändert und Geburtstagserinnerung gestellt"
myItem.Save 'speichert
End If
vglInt = 0
Else 'wenn es keine Reminder gibt, muss alles ersetzt werden
bkUp = myItem.Birthday 'speichert den aktuellen Kontakt als Backup
myItem.Birthday = bkUp 'setzt halt wieder auf das selbe Datum, dabei wird der automatische Reminder gesetzt
MsgBox myItem.FullName & "Äußere: " & myItem.Birthday & ": " & "Verändert"
myItem.Save 'speichert
End If
End If
Next
End Sub
Sorry for the german comments, its my nativ language.
If you find some bugs, please contact me to fix it. But remember, use it at your own risk!![]()
I've activated the birthday calendar in iCal and now contact birthdays appear magically in my calendar on my iPhone. W00T!
Has anyone spotted a way to set a reminder for all of these? I really need it to shout at me a week before to make sure I don't miss someone.
i do not really know that,but someone may have do that
offer you something special:
www.cntradeshop.com
How do i use this code? I'm computer illiterate![]()
Any solution for WINDOWS users?
I don't have iCal, and wondering if there's a simpler way to handle this on WINDOWS.
2.5Ghz Custom PC (XP) + 2.0GHz Aluminum MacBook
I made a java game, tell me what you think.
I painstakingly put all my birthdays into Outlook contacts (PC) before my first calendar sync. Of course the birthdays were displayed in both the Outlook contacts and calendar. I proceeded to sync, but the birthdays did not appear in the iPhone calendar - but the birthday was in each iPhone contact... (yes sounds familiar, you say!).
But then I noticed on the "Info" tab in iTunes (Devices / iPhone), there is an 'Advanced' section. Tick the box that says "Replace information on this iPhone: Calendars"... and it worked fine, i.e. birthdays there in my iPhone calendar!
Caveat to everyone: just had a thought - make sure that the appointments etc. in your iPhone Calendar already exist in your Outlook Calendar, otherwise you will delete them!
So, don't buy 3rd party software, hack with VB or anything else. Just make sure iTunes and your iPhone firmware is up to date and everything should be OK.
Varsågod![]()