Zum Hauptinhalt springen

 Wie sende ich einem Kontakt automatisch eine Grußnachricht, wenn heute sein Geburtstag in Outlook ist?

Author: Xiaoyang Last Modified: 2025-08-06

Manchmal möchten Sie möglicherweise automatisch eine Grußnachricht an den Kontakt senden, wenn heute sein Geburtstag in Outlook ist. Es wäre eine mühsame Aufgabe, die Geburtstage der Kontakte einzeln zu überprüfen und die Gruß-E-Mails manuell zu versenden. In diesem Artikel werde ich Ihnen einen VBA-Code vorstellen, um dieses Problem schnell und einfach zu lösen.

Senden Sie automatisch eine Grußnachricht an einen Kontakt basierend auf seinem Geburtstag mit VBA-Code in Outlook


Senden Sie automatisch eine Grußnachricht an einen Kontakt basierend auf seinem Geburtstag mit VBA-Code in Outlook

Um automatisch eine Grußnachricht an einen Kontakt zu senden, wenn heute sein Geburtstag ist, fügen Sie zunächst einen VBA-Code ein, dann müssen Sie eine wiederkehrende Aufgabe erstellen, um den Code auszulösen.

Die folgenden Schritte können Ihnen helfen:

1. Starten Sie Outlook, und halten Sie dann die Tasten ALT + F11 gedrückt, um das Microsoft Visual Basic for Applications-Fenster zu öffnen.

2. Doppelklicken Sie im Microsoft Visual Basic for Applications-Fenster auf ThisOutlookSession im Bereich Project1(VbaProject.OTM), um den Modus zu öffnen, und kopieren Sie dann den folgenden Code in das leere Modul.

VBA-Code: Automatisches Senden einer Grußnachricht an einen Kontakt basierend auf dem Geburtstag:

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. Klicken Sie dann auf Tools > References im Microsoft Visual Basic for Applications-Fenster. Aktivieren Sie im erscheinenden Dialogfeld References-Project1 die Optionen Microsoft Word Object Library und Microsoft Scripting Runtime aus der Liste der verfügbaren Referenzen, siehe Screenshot:

4. Klicken Sie dann auf OK, um das Dialogfeld zu schließen. Nun sollten Sie eine Aufgabe erstellen, um den VBA-Code auszulösen. Gehen Sie zum Aufgabenbereich und klicken Sie auf Neue Aufgabe, um eine Aufgabe zu erstellen:

(1.) Geben Sie in der Betreffzeile als Betreff Send Birthday Greeting Mail ein;

(2.) Klicken Sie dann unter der Registerkarte Aufgabe auf Wiederholung;

(3.) Wählen Sie im Dialogfeld Aufgabenwiederholung die Option Täglich und legen Sie die Option Alle 1 Tag(e) im Abschnitt Wiederholungsmuster fest;

5. Klicken Sie dann auf OK, um das Dialogfeld zu schließen. Wechseln Sie zurück zum Aufgabenfenster und legen Sie eine Erinnerung für die wiederkehrende Aufgabe wie im folgenden Screenshot gezeigt fest:

6. Von nun an wird beim Erscheinen der Erinnerung das Makro sofort ausgelöst. Ein Dialogfeld wird angezeigt, um Sie daran zu erinnern, die Geburtstagsgrüße einzufügen, wie im folgenden Screenshot gezeigt:

7. Klicken Sie dann auf die Schaltfläche OK, und eine Grußmail wird automatisch an den Kontakt gesendet, dessen Geburtstag heute ist.


Beste Office-Produktivitätstools

Eilmeldung: Kutools für Outlook startet kostenlose Version!

Erleben Sie das komplett neue Kutools für Outlook mit über100 beeindruckenden Funktionen! Jetzt herunterladen!

🤖 Kutools AI : Nutzt fortschrittliche KI-Technologie, um E-Mail mühelos zu bearbeiten – darunter Antworten, Zusammenfassen, Optimieren, Erweitern, Übersetzen und Erstellen von E-Mails.

📧 E-Mail-Automatisierung: Automatische Antwort (verfügbar für POP und IMAP) /E-Mails zeitgesteuert senden /Automatische CC/BCC nach Regel beim Senden von E-Mails /Automatische Weiterleitung (Erweiterte Regeln) /Automatisches Hinzufügen von Begrüßungen / Mehrfache Empfänger-E-Mails automatisch in einzelne E-Mail-Nachrichten aufteilen...

📨 E-Mail-Verwaltung: E-Mails zurückrufen /Betrugsversuche anhand des Betreffs und anderer Kriterien blockieren /Duplikate E-Mails löschen /Erweiterte Suche /Ordner organisieren...

📁 Anhänge Pro:Stapelweise speichern /Stapelweise abtrennen /Stapelweise komprimieren /Automatisch speichern /Automatisch abtrennen/Automatische Komprimierung...

🌟 Interface-Magie: 😊Mehr attraktive und coole Emojis /Benachrichtigung bei wichtigen E-Mails /Outlook minimieren statt schließen...

👍 Ein-Klick-Wunder: Allen mit Anhängen antworten /Anti-Phishing-E-Mails /🕘Zeitzone des Absenders anzeigen...

👩🏼‍🤝‍👩🏻 Kontakte & Kalender: Kontakte stapelweise aus ausgewählten E-Mails hinzufügen /Eine Kontaktgruppe in einzelne Gruppen aufteilen /Geburtstagserinnerung entfernen...

Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über40 weitere!

Entsperren Sie Kutools für Outlook sofort mit nur einem Klick. Warten Sie nicht, laden Sie jetzt herunter und steigern Sie Ihre Effizienz!

kutools for outlook features1 kutools for outlook features2