Прескочи на основното съдържание

Как да изчисля и показвам възрасти по рождени дни в календара на Outlook?

Автор: Кели Последна промяна: 2017-08-07

Най-общо казано, рожденият ден на контакт ще бъде автоматично добавен като годишна повтаряща се среща в календара. Но знаете ли как да изчислите възрастта на контакта и да я покажете директно в изгледа на календара? Тази статия ще въведе VBA за определяне на възрастта на всеки контакт и показване на възрастта по темата за относително повтарящи се срещи в Outlook.

Изчислете и покажете възрасти по рождени дни в календара на Outlook

Раздел Office - Активирайте редактиране и сърфиране с раздели в Microsoft Office, правейки работата лесна
Kutools за Outlook - Увеличете Outlook със 100+ разширени функции за превъзходна ефективност
Увеличете своя Outlook 2021 - 2010 или Outlook 365 с тези разширени функции. Насладете се на цялостен 60-дневен безплатен пробен период и подобрете изживяването си с имейл!

стрелка син десен балонИзчислете и покажете възрасти по рождени дни в календара на Outlook

За да изчислите възрастта на всеки контакт и да покажете възрастта в темата на относително повтаряща се среща в календара на Outlook, моля, направете следното:

1. Отворете папката на календара по подразбиране и натиснете Друг + 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.

Когато се върнете към календара по подразбиране, ще видите, че възрастта на всеки контакт е изчислена и показана в темата на повтарящата се среща за рожден ден. Вижте екранна снимка:

бележки:
(1) В темата за повтаряща се среща за рожден ден на определен контакт, възрастта на този контакт е оградена със скоби, подобни на (41 в 2017), 41 е възрастта и 2017 е текущата година.
(2) Ако промените рождения ден на определен контакт в папката с контакти, възрастта ще бъде премахната автоматично от календара.
(3) Този VBA работи само с календара на Outlook по подразбиране.


стрелка син десен балонСвързани статии


Най-добрите инструменти за продуктивност в офиса

Kutools за Outlook - Над 100 мощни функции, за да заредите вашия Outlook

🤖 AI Mail Assistant: Незабавни професионални имейли с AI магия - с едно щракване до гениални отговори, перфектен тон, многоезично владеене. Трансформирайте имейла без усилие! ...

📧 Автоматизиране на имейли: Извън офиса (налично за POP и IMAP)  /  График за изпращане на имейли  /  Автоматично CC/BCC по правила при изпращане на имейл  /  Автоматично пренасочване (разширени правила)   /  Автоматично добавяне на поздрав   /  Автоматично разделяне на имейлите с множество получатели на отделни съобщения ...

📨 Управление на Email: Лесно извикване на имейли  /  Блокиране на измамни имейли по теми и други  /  Изтриване на дублирани имейли  /  подробно търсене  /  Консолидиране на папки ...

📁 Прикачени файлове 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