Przejdź do głównej zawartości

Jak obliczyć i wyświetlić wiek według urodzin w kalendarzu Outlooka?

Ogólnie rzecz biorąc, urodziny kontaktu będą automatycznie dodawane jako coroczne powtarzające się spotkanie w kalendarzu. Ale czy wiesz, jak obliczyć wiek kontaktu i wyświetlić go bezpośrednio w widoku kalendarza? W tym artykule wprowadzimy VBA, aby obliczyć wiek każdego kontaktu i pokazać wiek w temacie względnego powtarzającego się spotkania w Outlooku.

Obliczaj i wyświetlaj wiek według urodzin w kalendarzu Outlooka

Karta Office — włącz edycję i przeglądanie na kartach w pakiecie Microsoft Office, dzięki czemu praca stanie się o wiele łatwiejsza
Kutools dla programu Outlook - Zwiększ wydajność programu Outlook dzięki ponad 100 zaawansowanym funkcjom zapewniającym najwyższą wydajność
Ulepsz swój program Outlook 2021–2010 lub Outlook 365 dzięki tym zaawansowanym funkcjom. Skorzystaj z kompleksowego, 60-dniowego bezpłatnego okresu próbnego i usprawnij korzystanie z poczty e-mail!

strzałka niebieski prawy bąbelekObliczaj i wyświetlaj wiek według urodzin w kalendarzu Outlooka

Aby obliczyć wiek każdego kontaktu i wyświetlić wiek w temacie względnego powtarzającego się spotkania w kalendarzu Outlooka, wykonaj następujące czynności:

1. Otwórz domyślny folder kalendarza i naciśnij inny + F11 klawisze, aby otworzyć okno Microsoft Visual Basic for Applications.

2. Kliknij wstawka > Moduł, a następnie wklej poniższy kod VBA do nowego okna modułu.

VBA: Oblicz i pokaż wiek kontaktów w kalendarzu Outlooka

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, wciśnij F5 klucz lub run przycisk, aby uruchomić ten VBA.

Po powrocie do kalendarza domyślnego zobaczysz, że wiek każdego kontaktu jest wyliczony i pokazany w temacie cyklicznego spotkania urodzinowego. Zobacz zrzut ekranu:

Uwagi:
(1) W temacie powtarzającego się spotkania urodzinowego określonego kontaktu wiek tego kontaktu ujęto w nawiasach podobnych do (41 w 2017), 41 to wiek, i 2017 to bieżący rok.
(2) Jeśli zmienisz datę urodzenia określonego kontaktu w folderze kontaktów, wiek zostanie automatycznie usunięty z kalendarza.
(3) Ten VBA działa tylko z domyślnym kalendarzem programu Outlook.


strzałka niebieski prawy bąbelekPowiązane artykuły


Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

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