Přejít k hlavnímu obsahu

Jak vypočítat a zobrazit věk podle narozenin v kalendáři aplikace Outlook?

Autor: Kelly Naposledy změněno: 2017-08-07

Obecně řečeno, narozeniny kontaktu budou automaticky přidány jako každoročně se opakující schůzka v kalendáři. Ale víte, jak vypočítat věk kontaktu a zobrazit věk přímo v zobrazení kalendáře? Tento článek představí VBA, aby zjistil věk každého kontaktu a ukázal věk v předmětu relativního opakovaného jmenování v aplikaci Outlook.

Výpočet a zobrazení věku podle narozenin v kalendáři aplikace Outlook

Karta Office – Povolte úpravy a procházení na kartách v Microsoft Office, díky čemuž bude práce hračkou
Kutools pro Outlook – Vylepšete Outlook se 100+ pokročilými funkcemi pro vynikající efektivitu
Vylepšete svůj Outlook 2021–2010 nebo Outlook 365 pomocí těchto pokročilých funkcí. Užijte si komplexní 60denní bezplatnou zkušební verzi a vylepšete svůj e-mailový zážitek!

šipka modrá pravá bublinaVýpočet a zobrazení věku podle narozenin v kalendáři aplikace Outlook

Chcete-li vypočítat věk každého kontaktu a zobrazit věk v předmětu relativní opakované schůzky v kalendáři aplikace Outlook, postupujte takto:

1. Otevřete výchozí složku kalendáře a stiskněte Další + F11 klávesy pro otevření okna Microsoft Visual Basic pro aplikace.

2, klikněte Vložit > Modula poté vložte pod kód VBA do nového okna modulu.

VBA: Výpočet a zobrazení stáří kontaktů v kalendáři aplikace 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. zmáčkni F5 nebo klávesu Běh tlačítko pro spuštění tohoto VBA.

Když se vrátíte do výchozího kalendáře, uvidíte, že se zjistí věk každého kontaktu a zobrazí se v předmětu opakované schůzky k narozeninám. Viz snímek obrazovky:

Poznámky:
(1) V předmětu opakovaného narozeninového kontaktu určitého kontaktu je věk tohoto kontaktu zahrnut do závorek podobných jako (41 v 2017), 41 je věk a 2017 je aktuální rok.
(2) Pokud změníte narozeniny určitého kontaktu ve složce kontaktů, věk bude z kalendáře automaticky odstraněn.
(3) Tento VBA funguje pouze s výchozím kalendářem aplikace Outlook.


šipka modrá pravá bublinaSouvisející články


Nejlepší nástroje pro produktivitu v kanceláři

Kutools pro aplikaci Outlook - Více než 100 výkonných funkcí, které doplní váš Outlook

🤖 AI Mail Assistant: Okamžité profesionální e-maily s magií umělé inteligence – jedním kliknutím získáte geniální odpovědi, perfektní tón, vícejazyčné ovládání. Transformujte e-maily bez námahy! ...

???? Automatizace e-mailu: Mimo kancelář (k dispozici pro POP a IMAP)  /  Naplánujte odesílání e-mailů  /  Automatická kopie/skrytá kopie podle pravidel při odesílání e-mailu  /  Automatické přeposílání (pokročilá pravidla)   /  Automatické přidání pozdravu   /  Automaticky rozdělte e-maily pro více příjemců na jednotlivé zprávy ...

📨 Email management: Snadné vyvolání e-mailů  /  Blokujte podvodné e-maily podle předmětů a dalších  /  Odstranit duplicitní e-maily  /  pokročilé vyhledávání  /  Konsolidovat složky ...

📁 Přílohy ProDávkové uložení  /  Dávkové odpojení  /  Dávková komprese  /  Automaticky uložit   /  Automatické odpojení  /  Automatické komprimování ...

???? Rozhraní Magic: 😊 Více pěkných a skvělých emotikonů   /  Zvyšte produktivitu své aplikace Outlook pomocí zobrazení s kartami  /  Minimalizujte aplikaci Outlook namísto zavírání ...

???? Zázraky na jedno kliknutí: Odpovědět všem s příchozími přílohami  /   E-maily proti phishingu  /  🕘Zobrazit časové pásmo odesílatele ...

👩🏼‍🤝‍👩🏻 Kontakty a kalendář: Dávkové přidání kontaktů z vybraných e-mailů  /  Rozdělit skupinu kontaktů na jednotlivé skupiny  /  Odeberte připomenutí narozenin ...

Přes 100 Vlastnosti Očekávejte svůj průzkum! Kliknutím sem zobrazíte další informace.

Více       Stažení zdarma      Nákup
 

 

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