KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在日历中通过生日计算并显示年龄?

作者Kelly修改日期

一般情况下,联系人的生日会自动添加为日历中的年度重复事件。但您是否知道,如何计算联系人的年龄并直接在日历视图中显示?本文将为您介绍一种 VBA 方法,帮助您统计每位联系人的年龄,并将其直接显示在 Outlook 中相关重复事件的主题中。

在日历上通过生日计算及显示年龄

在 Outlook 中通过生日计算年龄的屏幕截图

在日历上通过生日计算及显示年龄

如需计算每位联系人的年龄,并在日历中相关的重复预约主题中显示年龄,请按以下步骤操作:

1. 打开默认日历文件夹后,按下“Alt” + “F11”组合键,进入“Microsoft Visual Basic for Applications”窗口。

2. 点击“插入” > “模块”,然后将以下 VBA 代码粘贴到新建的模块窗口中。

VBA:计算并显示联系人年龄于日历

Option Explicit
Public Sub UpdateAges()
Dim xOlApp As Outlook.Application
Dim xOlFolder As Outlook.Folder
Dim xOlItems As Outlook.Items
Dim xAppointmentItem As AppointmentItem
Dim xAge As Integer
Dim xOlProp As Outlook.UserProperty
Set xOlApp = Outlook.Application
Set xOlFolder = Session.GetDefaultFolder(olFolderCalendar)
Set xOlItems = xOlFolder.Items
For Each xAppointmentItem In xOlItems
If (InStr(1, xAppointmentItem.Subject, "Birthday") Or InStr(1, xAppointmentItem.Subject, "Anniversary")) And xAppointmentItem.IsRecurring = True Then
With xAppointmentItem
If xAppointmentItem.UserProperties("Original Subject") Is Nothing Then
Set xOlProp = xAppointmentItem.UserProperties.Add("Original Subject", olText, True)
xOlProp.Value = .Subject
.Save
End If
xAge = DateDiff("yyyy", .Start, Date)
.Subject = .UserProperties("Original Subject") & " (" & xAge & " in " & Format(Date, "yyyy") & ")"
.Save
End With
End If
Next
Set xAppointmentItem = Nothing
Set xOlItems = Nothing
Set xOlFolder = Nothing
Set xOlApp = Nothing
End Sub

3. 按下“F5”键或点击“运行”按钮,即可执行 VBA 代码。

返回默认日历后,您将会看到每位联系人的年龄已被自动计算,并显示在重复生日日程的主题中。请参见截图:

在 Outlook 中通过生日计算年龄的第 1 步屏幕截图

注意:
(1)在联系人的重复生日预约主题中,年龄会显示在括号内,例如(41 in 2017),其中 41 表示年龄,2017 为当前年份。
(2)如果您在联系人文件夹中更改某联系人的生日,日历中显示的年龄将会自动移除。
(3)此 VBA 仅适用于默认日历。


相关文章


最佳办公效率工具

体验全新 Kutools for Outlook,畅享 100+ 强大功能!立即点击下载,不容错过!

🤖KUTOOLS AI采用先进 AI 技术,轻松处理邮件,涵盖回复、摘要、优化、扩展、翻译及撰写等功能。

📧 邮件自动化自动答复(支持 POP 和 IMAP)/定时发送邮件/发送邮件时按规则自动抄送密送/自动转发(高级规则)/自动添加称呼/自动将多收件人邮件拆分为单独信息……

📨 邮件管理撤回邮件/按主题等条件拦截诈骗邮件/删除重复邮件/高级搜索/整合文件夹……

📁 附件增强批量保存/批量分离/批量压缩/自动保存/自动拆离/自动压缩……

🌟 界面魔法😊更多美观时尚表情/重要邮件到达时提醒您/最小化 Outlook 而不是直接关闭……

👍 一键精彩功能带附件全部答复/反钓鱼邮件/🕘显示发送者当前时间时区……

👩🏼‍🤝‍👩🏻 联系人与日历批量从选定邮件中提取添加联系人/将联系人组拆分为个人组/移除生日提醒……

在您的首选语言中畅享 Kutools —— 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

一键解锁 Kutools for Outlook,告别等待,立即下载,让效率倍增!

kutools for outlook features1kutools for outlook features2

🚀 一键下载 — 即可获取全部 Office 加载项

强烈推荐:Kutools for Office(5 合 1)

一键下载五个安装包,即可同时获得 Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即点击下载!

  • 一键便捷:只需一次操作,即可下载全部五个安装包。
  • 🚀 轻松应对各类 Office 任务:随时按需安装所需插件,助您高效办公,不容错过!
  • 🧰 包含:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint