Перейти до основного матеріалу

Як розрахувати та показати вік за днями народження в календарі Outlook?

Взагалі кажучи, день народження контакту буде автоматично додаватися як щорічна зустріч у календарі. Але чи знаєте ви, як розрахувати вік контакту та показати вік безпосередньо у поданні календаря? У цій статті буде представлено VBA, щоб з’ясувати вік кожного контакту та показати вік на предмет відносної повторюваної зустрічі в Outlook.

Розрахуйте та покажіть вік за датами народження в календарі Outlook

Вкладка Office - увімкніть редагування та перегляд із вкладками в Microsoft Office, що полегшить роботу
Kutools для Outlook - покращте Outlook за допомогою 100+ розширених функцій для надзвичайної ефективності
Покращіть свій Outlook 2021 - 2010 або Outlook 365 за допомогою цих розширених функцій. Насолоджуйтесь повною 60-денною безкоштовною пробною версією та покращте роботу електронної пошти!

стрілка синя права міхурРозрахуйте та покажіть вік за датами народження в календарі Outlook

Щоб розрахувати вік кожного контакту та показати вік у темі відносної періодичної зустрічі в календарі Outlook, виконайте такі дії:

1. Відкрийте папку календаря за замовчуванням і натисніть інший + F11 клавіші, щоб відкрити вікно Microsoft Visual Basic for Applications.

2. Клацання Insert > Модулі, а потім вставте нижче коду 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.

Повернувшись до календаря за замовчуванням, ви побачите, як визначений вік кожного контакту та показаний у темі періодичної зустрічі з днем ​​народження. Дивіться знімок екрана:

примітки:
(1) У темі періодичного призначення дня народження певного контакту вік цього контакту фіксується в дужках, подібних до (41 в 2017), 41 - вік, і 2017 це поточний рік.
(2) Якщо ви зміните день народження певного контакту в папці контактів, вік буде автоматично видалено з календаря.
(3) Цей VBA працює лише із календарем Outlook за замовчуванням.


стрілка синя права міхурСтатті по темі


Найкращі інструменти продуктивності офісу

Kutools для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook

🤖 AI Mail Assistant: Миттєві професійні електронні листи з магією штучного інтелекту – геніальні відповіді одним клацанням, ідеальний тон, багатомовна майстерність. Трансформуйте електронну пошту без зусиль! ...

???? Автоматизація електронної пошти: Поза офісом (доступно для POP та IMAP)  /  Розклад надсилання електронних листів  /  Автоматична копія/прихована копія за правилами під час надсилання електронної пошти  /  Автоматичне пересилання (розширені правила)   /  Автоматично додавати привітання   /  Автоматично розділяйте електронні листи кількох одержувачів на окремі повідомлення ...

📨 Управління електронною поштою: Легко відкликайте електронні листи  /  Блокуйте шахрайські електронні листи за темами та іншими  /  Видалити повторювані електронні листи  /  розширений пошук  /  Консолідація папок ...

📁 Вкладення ProПакетне збереження  /  Пакетне від'єднання  /  Пакетний компрес  /  Автозавантаження   /  Автоматичне від'єднання  /  Автокомпресія ...

???? Магія інтерфейсу: 😊Більше красивих і класних смайликів   /  Підвищте продуктивність Outlook за допомогою вкладок  /  Згорніть Outlook замість того, щоб закривати ...

👍 Дива в один клік: Відповісти всім із вхідними вкладеннями  /   Антифішингові електронні листи  /  🕘Показувати часовий пояс відправника ...

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

більше Особливості 100 Чекайте на ваше дослідження! Натисніть тут, щоб дізнатися більше.

 

 

Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst "

Could you please translate this line for me? TIA
This comment was minimized by the moderator on the site
If possible, could you please give the above directive for auto-count in English??

Danke
This comment was minimized by the moderator on the site
Is there a way to set this up without using the birthday feature of the contact card?

On recurring could you set this up to show the number of years?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations