Note: The other languages of the website are Google-translated. Back to English

Kako izračunati in prikazati starost po rojstnih dnevih v koledarju Outlook?

Na splošno se rojstni dan stika samodejno doda kot letni sestanek v koledar. Toda ali veste, kako izračunati starost stika in prikazati starost neposredno v pogledu koledarja? Ta članek bo predstavil VBA, da bo ugotovil starost vsakega stika in prikazal starost glede relativnega ponavljajočega se sestanka v programu Outlook.

Izračunajte in prikažite starost po rojstnih dnevih v koledarju Outlooka

Kartica Office - omogočite urejanje in brskanje z zavihki v storitvi Office ter olajšajte delo ...
Kutools za Outlook - prinaša 100 zmogljivih naprednih funkcij v Microsoft Outlook
  • Samodejno CC / BCC po pravilih pri pošiljanju e-pošte; Samodejno posredovanje naprej Več e-poštnih sporočil po pravilih; Samodejni odgovor brez strežnika za izmenjavo in več samodejnih funkcij ...
  • Opozorilo pred BCC - prikaže sporočilo, ko poskušate odgovoriti na vse, če je vaš poštni naslov na seznamu BCC; Opomni, ko manjkajo priloge, in več opomnikov ...
  • Odgovori (vsi) z vsemi prilogami v pogovoru po pošti; Odgovori na več e-poštnih sporočil hkrati; Samodejno dodaj pozdrav ko odgovor; Samodejno dodaj datum in čas v zadevo ...
  • Orodja za pritrditev: Samodejno loči, Stisni vse, Preimenuj vse, Samodejno shrani vse ... Hitro poročilo, Preštej izbrano pošto, Odstranitev podvojenih e-poštnih sporočil in stikov ...
  • Več kot 100 naprednih funkcij bo rešiti večino svojih težav v Outlooku 2010-2019 in 365. Polne funkcije 60-dnevnega brezplačnega preskusa.

puščica modri desni mehurčekIzračunajte in prikažite starost po rojstnih dnevih v koledarju Outlooka

Če želite izračunati starost vsakega stika in prikazati starost v temi relativnega ponavljajočega se sestanka v koledarju Outlook, storite naslednje:

1. Odprite privzeto mapo koledarja in pritisnite druga + F11 za odpiranje okna Microsoft Visual Basic for Applications.

2. Kliknite Vstavi > Moduliin nato pod novo kodo VBA prilepite v novo okno modula.

VBA: Izračunajte in prikažite starost stikov v koledarju 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. Pritisnite F5 tipko ali Run za zagon tega VBA.

Ko se vrnete na privzeti koledar, boste videli, da je starost vsakega stika ugotovljena in prikazana v zadevi ponavljajočega se rojstnega dne. Oglejte si posnetek zaslona:

Opombe:
(1) V predmetu ponavljajočega se rojstnega dne določenega stika je starost tega stika zajeta v oklepajih, podobnih (41 v 2017), 41 je starost in 2017 je tekoče leto.
(2) Če v mapi s stiki spremenite rojstni dan določenega stika, bo starost samodejno odstranjena iz koledarja.
(3) Ta VBA deluje samo s privzetim Outlookovim koledarjem.


puščica modri desni mehurčekPovezani članki


Kutools za Outlook - prinaša 100 naprednih funkcij v Outlook in olajša delo!

  • Samodejno CC / BCC po pravilih pri pošiljanju e-pošte; Samodejno posredovanje naprej Več e-poštnih sporočil po meri; Samodejni odgovor brez strežnika za izmenjavo in več samodejnih funkcij ...
  • Opozorilo pred BCC - prikaži sporočilo, ko poskušate odgovoriti vsem če je vaš poštni naslov na seznamu BCC; Opomni, ko manjkajo priloge, in več opomnikov ...
  • Odgovori (vsi) z vsemi prilogami v e-poštnem pogovoru; Odgovori na veliko e-poštnih sporočil v nekaj sekundah; Samodejno dodaj pozdrav ko odgovor; Dodaj datum v zadevo ...
  • Orodja za priloge: Upravljanje vseh prilog v vseh e-poštnih sporočilih, Samodejno loči, Stisni vse, Preimenuj vse, Shrani vse ... Hitro poročilo, Štejte izbrano pošto...
  • Zmogljiva neželena e-poštna sporočila po meri; Odstranite podvojene pošte in stike... Omogočajo vam pametnejše, hitrejše in boljše delovanje v Outlooku.
strelec kutools outlook kutools zavihek 1180x121
shot kutools outlook kutools plus jeziček 1180x121
 
Komentarji (5)
Ocenjeno 4.5 iz 5 · 1 ocene
Ta komentar je moderator na spletnem mestu minimiziral
Ali obstaja način, da to nastavite brez uporabe funkcije rojstnega dne v kontaktni kartici?

Pri ponavljajočih se lahko nastaviš tako, da prikazuje število let?
Ta komentar je moderator na spletnem mestu minimiziral
Nach einigen Anpassungen funktionierte die Anleitung auch bei Outlook 2010 in Deutsch.
Starost > Spremeni
obletnica > Jahrestag
Rojstni dan > Geburtstag von
Ergänzungen aus Modul1 (von https://www.pctipp.ch/praxis/office/outlook-kontakte-geburtstag-und-aktuelles-alter-anzeigen-1983795.html):
Dim Alter As String
Dim Zaehler
Dim GebJahr
MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst"

Befehlzeilen:
Option Explicit
Javni sub UpdateAlter()
Zatemni xOlApp kot Outlook.Application
Zatemni xOlFolder kot Outlook.Folder
Zatemnite xOlItems kot Outlook.Items
Zatemni xAppointmentItem kot AppointmentItem
Dim xAlter kot celo število
Zatemni xOlProp kot Outlook.UserProperty
Dim Alter As String
Dim Zaehler
Dim GebJahr
Nastavite xOlApp = Outlook.Application
Nastavite xOlFolder = Session.GetDefaultFolder(olFolderCalendar)
Nastavite xOlItems = xOlFolder.Items
Za vsak xAppointmentItem v xOlItems
Če (InStr(1, xAppointmentItem.Subject, "Geburtstag von") Ali InStr(1, xAppointmentItem.Subject, "Jahrestag")) in xAppointmentItem.IsRecurring = True Potem
Z xAppointmentItem
Če xAppointmentItem.UserProperties("Original Subject") ni nič, potem
Nastavite xOlProp = xAppointmentItem.UserProperties.Add("Original Subject", olText, True)
xOlProp.Value = .Subject
. Shrani
Konec Če
xAlter = DateDiff("yyyy", .Začetek, datum)
.Subject = .UserProperties("Original Subject") & " (" & xAlter & " in " & Format(Date, "yyyy") & ")"
. Shrani
Končaj s
Konec Če
Naslednji
MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst"
Nastavite xAppointmentItem = Nič
Nastavite xOlItems = Nič
Nastavite xOlFolder = Nič
Nastavite xOlApp = Nič
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Hat funktioniert - vielen Dank!
Ocenjeno 4.5 iz 5
Ta komentar je moderator na spletnem mestu minimiziral
Če je mogoče, lahko prosim podate zgornjo direktivo za samodejno štetje v angleščini??

Hvala
Ta komentar je moderator na spletnem mestu minimiziral
MsgBox "Fertig!" & vbCrLf & Zaehler & " Geburtstagseinträge geändert.", vbInformation, "Geburtstage angepasst"

Ali mi lahko prosim prevedete to vrstico? TIA
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije