KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как рассчитать и отобразить возраст на основе даты рождения в календаре Outlook?

АвторКеллиДата изменения

Как правило, день рождения контакта автоматически добавляется в календарь как ежегодное повторяющееся событие. Но знаете ли вы, как рассчитать возраст контакта и отобразить его прямо в представлении календаря? В этой статье описан метод с использованием VBA для автоматического расчёта возраста каждого контакта и добавления его в тему соответствующего повторяющегося события в Outlook.

Расчёт и отображение возраста по дням рождения в календаре Outlook

снимок экрана с расчетом возраста по датам рождения в Outlook

Расчёт и отображение возраста по дням рождения в календаре Outlook

Чтобы рассчитать возраст каждого контакта и отобразить его в теме соответствующей повторяющейся встречи в календаре Outlook, выполните следующие действия:

1. Откройте папку календаря по умолчанию и нажмите «Alt» + «F11», чтобы запустить окно Microsoft Visual Basic для приложений.

2. Выберите «Вставка» > «Модуль», затем вставьте приведённый ниже код VBA в открывшееся окно модуля.

VBA: Расчёт и отображение возраста контактов в календаре Outlook

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 в 2017), где 41 — возраст, а 2017 — текущий год.
(2) Если вы измените дату рождения контакта в папке контактов, отображаемый возраст автоматически исчезнет из календаря.
(3) Данный код VBA работает только с календарём Outlook по умолчанию.


Смежные статьи


Лучшие инструменты для повышения продуктивности в Office

Оцените совершенно новый Kutools для Outlook с 100+ потрясающими функциями!Нажмите, чтобы скачать прямо сейчас!

🤖KUTOOLS AI:Использует передовые технологии ИИ для удобной работы с электронной почтой: ответы, составление резюме, оптимизация, расширение, перевод и создание писем.

📧Автоматизация работы с электронной почтой: Автоответ (доступен для POP и IMAP) / Планирование отправки писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения…

📨Управление электронной почтой: Отозвать письмо / Блокировка спама по теме и другим признакам / Удаление дубликатов писем / Расширенный поиск / Организация папок…

📁Продвинутая работа с вложениями: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие…

🌟Волшебство интерфейса: 😊Еще больше красивых и стильных эмодзи / Напоминание о важных входящих письмах / Сворачивание Outlook вместо закрытия…

👍Чудеса одним щелчком: Ответить всем с вложениями / Защита от фишинговых писем / 🕘Отображение часового пояса: текущее время отправителя…

👩🏼‍🤝‍👩🏻Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделение группы контактов на отдельные группы / Удаление напоминания о дне рождения…

Используйте Kutools на вашем любимом языке — поддержка английского, испанского, немецкого, французского, китайского и более чем 40 других языков!

Мгновенно получите доступ к Kutools для Outlook одним щелчком! Не теряйте время — скачайте прямо сейчас и повысьте свою эффективность!

kutools for outlook features1kutools for outlook features2

🚀 Скачать одним щелчком — Получите все надстройки для Office

Настоятельно рекомендуется: Kutools for Office (5 в 1)

Скачайте одним щелчком пять установщиковсразу —Kutools для Excel, Outlook, Word, PowerPointи Office Tab Pro.Нажмите, чтобы скачать прямо сейчас!

  • ✅Удобство одним щелчком: Скачайте все пять установочных пакетов за одно действие.
  • 🚀Готовы к любой задаче в Office: устанавливайте нужные надстройки именно тогда, когда они вам понадобятся.
  • 🧰Входит в комплект: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools for PowerPoint