Some users would like to also see the corresponding person’s age when viewing a birthday event in the calendar. Therefore, in this article, we’ll share a method to make this idea come true with ease.
When you add the birthday information to a contact, Outlook will auto create a birthday event in the calendar. Under this circumstance, every time when you see birthday events in the calendar, you may also want to get the corresponding persons’ ages. Thus, here we will introduce you a way to realize it.
Show the Corresponding Persons’ Ages for All Birthday Events in List View
- At the very beginning, launch Outlook VBA editor.
- Then, copy the following code into a module.
Sub ShowAgesOfBirthdayEventsListView() Dim objStore As Outlook.Store Dim objOutlookFile As Outlook.Folder Dim objFolder As Outlook.Folder 'Process All Calendar Folders in Your Outlook For Each objStore In Outlook.Application.Session.Stores Set objOutlookFile = objStore.GetRootFolder For Each objFolder In objOutlookFile.Folders If objFolder.DefaultItemType = olAppointmentItem Then Call ProcessFolders(objFolder) End If Next Next End Sub Sub ProcessFolders(ByVal objCalendar As Outlook.Folder) Dim i As Integer Dim objItem As Object Dim objBirthdayEvent As Outlook.AppointmentItem Dim dStart, dBirth As Date Dim nAge As Integer Dim objNewProperty As Outlook.UserProperty Dim objSubCalendar As Outlook.Folder For i = objCalendar.Items.Count To 1 Step -1 Set objItem = objCalendar.Items.Item(i) 'Add "Age" Property to Birthday Events If (objItem.MeetingStatus = olNonMeeting) And (objItem.IsRecurring = True) And (Right(objItem.Subject, 11) = "'s Birthday") Then Set objBirthdayEvent = objItem dStart = objBirthdayEvent.Start 'Count Age dCurrentBirthday = DateSerial(Year(Now), Month(dStart), Day(dStart)) nAge = DateDiff("yyyy", dStart, dCurrentBirthday) Set objNewProperty = objBirthdayEvent.UserProperties.Find("Age", True) If objNewProperty Is Nothing Then Set objNewProperty = objBirthdayEvent.UserProperties.Add("Age", olText, True) End If objNewProperty.value = nAge objBirthdayEvent.Save End If Next 'Process All Sub-Calendar Folders Recursively If objCalendar.Folders.Count > 0 Then For Each objSubCalendar In objCalendar.Folders Call ProcessFolders(objSubCalendar) Next End If End Sub
- After that, put cursor in the first subroutine and press “F5” to run this macro.
- When macro finishes, exit the VBA editor and open a calendar folder.
- Subsequently, go to “View” tab and click “Change View” > “List”.
- Next, click “View Settings” button.
- In the popup dialog box, choose “Columns”.
- Then, in the next dialog box of “Show Columns”, select “User-defined fields in folder” from the list of “Select available fields from”.
- Later, pitch on “Age” in “Available columns” box and click “Add ->” button.
- Eventually, click a series of “OK” until going back to the calendar item list.
- Now, in the list, you can see the persons’ ages of all birthday events, as shown in the following figure.
Fix Compromised Outlook File
You may get panic when encountering corrupt Outlook file which contains a lot of your valuable emails and schedules. Notwithstanding that such issue is pretty desperate, you still have to calm down at once and consider effective measures. If you keep worried, situation can get worse and worse. Actually, there are multiple ways and utilities that can repair the damaged file, such as inbox repair tool and a more robust and experienced tool, like DataNumen Outlook Repair.
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including SQL Server fix and outlook repair software products. For more information visit www.datanumen.com