Skip to main content

Kutools voor Office — Eén Suite. Vijf Tools. Verwezenlijkt Meer.

 Hoe kun je automatisch een verjaardagsbericht verzenden naar een contact in Outlook als het vandaag zijn verjaardag is?

Author Xiaoyang Last modified

Soms wil je misschien automatisch een verjaardagsbericht verzenden naar een contact wanneer het vandaag zijn verjaardag is in Outlook. Het kan een tijdrovende klus zijn om handmatig de verjaardagen van contacten te controleren en vervolgens de felicitatie-e-mails te versturen. In dit artikel introduceer ik een VBA-code om dit snel en gemakkelijk op te lossen.

Verzend automatisch een verjaardagsbericht naar een contact op basis van zijn verjaardag met VBA-code in Outlook


Verzend automatisch een verjaardagsbericht naar een contact op basis van zijn verjaardag met VBA-code in Outlook

Om automatisch een verjaardagsbericht te verzenden naar een contact als het vandaag zijn verjaardag is, moet je eerst een VBA-code invoegen en daarna een terugkerende taak maken om de code te activeren.

De volgende stappen kunnen je helpen:

1. Start Outlook en houd vervolgens de toetsen ALT + F11 ingedrukt om het venster Microsoft Visual Basic for Applications te openen.

2. Dubbelklik in het venster Microsoft Visual Basic for Applications op ThisOutlookSession in het deelvenster Project1(VbaProject.OTM) om de module te openen, en kopieer en plak vervolgens de volgende code in de lege module.

VBA-code: Automatisch een verjaardagsbericht verzenden naar een contact op basis van verjaardag:

Private Sub Application_Reminder(ByVal Item As Object)
Dim xTempMail As MailItem
Dim xFilePath As String
Dim xItems As Outlook.Items
Dim xItem As Object
Dim xContactItem As Outlook.ContactItem
Dim xTodayDate As String
Dim xBirthdayDate As String
Dim xGreetingMail As Outlook.MailItem
Dim xWordDoc As Word.Document
Dim xGreetings As String
Dim xBool As Boolean
xFilePath = CreateObject("shell.Application").NameSpace(5).self.Path & "\UserTemplates"
Set xFSO = CreateObject("Scripting.FileSystemObject")
If xFSO.FolderExists(xFilePath) = False Then
    MkDir xFilePath
End If
If IsFileExists(xFilePath & "\Birthday Greeting Mail.oft") = False Then
    Set xTempMail = Outlook.CreateItem(olMailItem)
    xTempMail.SaveAs xFilePath & "\Birthday Greeting Mail.oft", olTemplate
    xTempMail.Close olDiscard
End If
If (TypeOf Item Is TaskItem) And (Item.Subject = "Send Birthday Greeting Mail") Then
xGreetings = "Happy Birthday!"
           xGreetings = InputBox("Input birthday greetings", "Kutools for Outlook", xGreetings)
   xTodayDate = Month(Date) & "-" & Day(Date)
   Set xItems = Outlook.Application.Session.GetDefaultFolder(olFolderContacts).Items
   For Each xItem In xItems
       If Not (TypeOf xItem Is ContactItem) Then Exit Sub
       Set xContactItem = xItem
       xBirthdayDate = Month(xContactItem.Birthday) & "-" & Day(xContactItem.Birthday)
       If xBirthdayDate = xTodayDate Then
           Set xGreetingMail = Outlook.Application.CreateItemFromTemplate(xFilePath & "\Birthday Greeting Mail.oft")
           Set xWordDoc = xGreetingMail.GetInspector.WordEditor
           
           xWordDoc.Range.InsertBefore "Dear " & xContactItem.LastName & Chr(10) & xGreetings & Chr(10) & Chr(10)
           With xGreetingMail
                .Recipients.Add (xContactItem.Email1Address)
                .Subject = "Happy Birthday!"
                .Display
                .Close (olSave)
                .Send
          End With
       End If
   Next
End If
End Sub
Function IsFileExists(ByVal FileName As String) As Boolean
Dim xFileSystem As Object
Set xFileSystem = CreateObject("Scripting.FileSystemObject")
If xFileSystem.FileExists(FileName) = True Then
    IsFileExists = True
Else
    IsFileExists = False
End If
End Function 
the screenshot of step about using vba to send a greeting message to a contact automatically if his birthday is today in Outlook 1

3. Klik vervolgens op Tools > References in het venster Microsoft Visual Basic for Applications. Schakel in het dialoogvenster References-Project1 dat verschijnt de opties Microsoft Word Object Library en Microsoft Scripting Runtime aan in de lijst met beschikbare referenties, zoals in de onderstaande schermafbeelding te zien is:

4. Klik vervolgens op OK om het dialoogvenster te sluiten. Nu moet je een taak maken om de VBA-code te activeren. Ga naar het Taakvenster en klik op Nieuwe Taak om een taak te maken:

(1.) Voer in de onderwerpregel Send Birthday Greeting Mail in als Onderwerp;

(2.) Klik vervolgens op Herhaling onder het tabblad Taak;

(3.) Selecteer Dagelijks in het dialoogvenster Taakherhaling en specificeer de optie elke 1 dag(en) in de sectie Herhalingspatroon;

5. Klik vervolgens op OK om het dialoogvenster te sluiten. Keer terug naar het taakvenster en stel een herinnering in voor de terugkerende taak zoals in de volgende schermafbeelding te zien is:

6. Vanaf nu zal, wanneer de herinnering verschijnt, de macro onmiddellijk worden geactiveerd. Er verschijnt een dialoogvenster om je eraan te herinneren de verjaardagsfelicitaties in te voeren zoals in de volgende schermafbeelding te zien is:

7. Klik vervolgens op de knop OK, er wordt automatisch een felicitatie-e-mail verzonden naar het contact wiens verjaardag vandaag is.


Beste Office-productiviteitstools

Breaking News: Kutools for Outlook lanceert een gratis versie!

Ervaar de geheel nieuwe Kutools for Outlook met meer dan100 fantastische functies! Klik om nu te downloaden!

🤖 Kutools AI : Maakt gebruik van geavanceerde AI-technologie om e-mails moeiteloos te verwerken, zoals beantwoorden, samenvatten, optimaliseren, uitbreiden, vertalen en opstellen van e-mails.

📧 E-mailautomatisering: Automatisch antwoorden (Beschikbaar voor POP en IMAP) / Schema E-mail verzenden / Automatisch CC/BCC per Regel bij Verzenden / Automatisch doorsturen (Geavanceerde regels) / Begroeting automatisch toevoegen / Meerdere ontvangers automatisch opsplitsen naar individuele E-mail...

📨 E-mailbeheer: E-mail terughalen / Scam-e-mails blokkeren op onderwerp en anderen / Duplicaat verwijderen / Geavanceerd Zoeken / Organiseer mappen...

📁 Bijlagen Pro: Batch opslaan / Batch loskoppelen / Batch comprimeren / Automatisch opslaan / Automatisch loskoppelen / Automatisch comprimeren...

🌟 Interface-magie: 😊Meer mooie en gave emoji's / Herinneren wanneer belangrijke e-mails binnenkomen / Outlook minimaliseren in plaats van afsluiten...

👍 Wonders met één klik: Antwoord Allen met Bijlagen / Anti-phishing e-mails / 🕘Tijdzone van de afzender weergeven...

👩🏼‍🤝‍👩🏻 Contacten & Agenda: Batch toevoegen van contacten vanuit geselecteerde E-mails / Contactgroep opsplitsen naar individuele groepen / Verjaardagsherinnering verwijderen...

Gebruik Kutools in je voorkeurt taal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en meer dan40 andere talen!

Activeer Kutools for Outlook direct met één enkele klik. Wacht niet langer, download nu en verhoog je efficiëntie!

kutools for outlook features1 kutools for outlook features2

🚀 Eén klik downloaden — Ontvang alle Office-invoegtoepassingen

Sterk aanbevolen: Kutools for Office (5-in-1)

Met één klik download je vijf installatiepakketten tegelijk — Kutools voor Excel, Outlook, Word, PowerPoint en Office Tab Pro. Klik om nu te downloaden!

  • Eén-klik gemak: Download alle vijf de installaties in één actie.
  • 🚀 Klaar voor elke Office-taak: Installeer de invoegtoepassingen die je nodig hebt, wanneer je ze nodig hebt.
  • 🧰 Inclusief: Kutools voor Excel / Kutools for Outlook / Kutools voor Word / Office Tab Pro / Kutools voor PowerPoint