KutoolsforOffice — Eine Lösung, fünf leistungsstarke Tools.Mehr erreichen mit weniger Aufwand.März-Aktion: 20 % Rabatt

Wie sendet man in Outlook automatisch eine Grußnachricht an einen Kontakt, sobald dessen Geburtstag ist?

AutorXiaoyang Änderungsdatum

Manchmal möchten Sie vielleicht automatisch eine Grußnachricht an einen Kontakt senden, sobald dessen Geburtstag ist – direkt in Outlook. Ohne Automatisierung wäre das eine mühsame Aufgabe, denn Sie müssten den Geburtstag jedes Kontakts einzeln prüfen und die Glückwunsch-E-Mails manuell versenden. In diesem Artikel zeige ich Ihnen einen VBA-Code, mit dem Sie das schnell und einfach erledigen können.

Automatisches Senden einer Grußnachricht an einen Kontakt basierend auf dessen Geburtstag mithilfe eines VBA-Codes in Outlook


Automatisches Senden einer Grußnachricht an einen Kontakt basierend auf dessen Geburtstag mithilfe eines VBA-Codes in Outlook

Um automatisch eine Grußnachricht an einen Kontakt zu senden, wenn heute dessen Geburtstag ist, fügen Sie zunächst einen VBA-Code ein und richten dann eine wiederkehrende Aufgabe ein, die den Code auslöst.

Die folgenden Schritte können Ihnen dabei helfen:

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

2. Doppelklicken Sie im Fenster Microsoft Visual Basic for Applications im Bereich ThisOutlookSession des Projekts Project1 (VbaProject.OTM), um das Modul zu öffnen, und fügen Sie anschließend den folgenden Code in das leere Modul ein.

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 
Der Screenshot des Schritts zur Verwendung von VBA, um automatisch eine Grußnachricht an einen Kontakt zu senden, wenn dessen Geburtstag heute ist, in Outlook 1

3. Klicken Sie anschließend im Fenster Extras > Verweise des Microsoft Visual Basic for Applications. Aktivieren Sie im erscheinenden Dialogfeld Verweise – Project1 die Optionen Microsoft Word Object Library und Microsoft Scripting Runtime in der Liste Verfügbare Verweise, siehe Screenshot:

4. Klicken Sie danach auf OK, um den Dialog zu schließen. Nun müssen Sie eine Aufgabe erstellen, um den VBA-Code auszulösen. Wechseln Sie hierzu zum Bereich Aufgaben und klicken Sie auf Aufgabe, um eine Aufgabe zu erstellen:

(1.) Geben Sie in der Zeile Betreffals Betreff Geburtstagsgruß-Mail senden;

(2.) Klicken Sie anschließend unter der Registerkarte Wiederholungauf Aufgabe;

(3.) Wählen Sie im Dialogfeld Wiederkehrende Aufgabedie Option Täglichund legen Sie jeden 1 Tag(e)im Abschnitt Wiederholungsmusterfest;

5. Klicken Sie danach auf OK, um das Dialogfeld zu schließen. Kehren Sie zum Aufgabenfenster zurück und richten Sie für die wiederkehrende Aufgabe eine Erinnerung gemäß dem folgenden Screenshot ein:

6. Ab sofort wird das Makro unverzüglich ausgelöst, sobald die Erinnerung erscheint. Es öffnet sich ein Dialogfeld, das Sie daran erinnert, die Geburtstagsgrüße einzufügen – wie im folgenden Screenshot dargestellt:

7. Klicken Sie anschließend auf die Schaltfläche OK, und eine Gruß-E-Mail wird automatisch an den Kontakt gesendet, dessen Geburtstag heute ist.


Beste Office-Produktivitätswerkzeuge

Erleben Sie das komplett neue Kutools für Outlook mit 100+ unglaublichen Funktionen!Jetzt zum Download klicken!

🤖KUTOOLS AI:Nutzt fortschrittliche KI-Technologie, um E-Mails mühelos zu verwalten – einschließlich Beantworten, Zusammenfassen, Optimieren, Erweitern, Übersetzen und Verfassen von E-Mails.

📧E-Mail-Automatisierung: Automatische Antworten (verfügbar für POP und IMAP) / E-Mails zeitgesteuert versenden / Beim Senden automatisch CC/BCC basierend auf Regeln hinzufügen / Automatische Weiterleitung (Erweiterte Regeln) / Automatische Grußformel einfügen / Mehrfachadressierte E-Mails automatisch in Einzelnachrichten aufteilen

📨E-Mail-Verwaltung: E-Mails zurückrufen, Betrugs-E-Mails anhand von Betreffzeilen und weiteren Kriterien blockieren, doppelte E-Mails löschen, Erweiterte Suche, Ordner organisieren

📁Anhänge Pro: Stapelweise speichern / Stapelweise lösen / Stapelweise komprimieren / Automatisch speichern / Automatisch abtrennen / Automatische Komprimierung

🌟Oberflächenzauber:😊Noch mehr hübsche und coole Emojis/Benachrichtigung bei wichtigen eingehenden E-Mails/Outlook minimieren statt schließen...

👍Ein-Klick-Wunder: Allen mit Anhängen antworten / Anti-Phishing-E-Mails / 🕘Aktuelle Uhrzeit der Absender-Zeitzone anzeigen...

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

Nutzen Sie Kutools in Ihrer bevorzugten Sprache – mit Unterstützung für Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über 40 weitere Sprachen!

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

kutools for outlook features1kutools for outlook features2

🚀 Ein-Klick-Download – Holen Sie sich alle Office-Add-Ins

Stark empfohlen: Kutools for Office (5-in-1)

Mit einem Klick fünf Installationsprogrammegleichzeitig herunterladen –Kutools für Excel, Outlook, Word, PowerPointund Office Tab Pro.Jetzt zum Download klicken!

  • Ein-Klick-Komfort: Laden Sie alle fünf Installationspakete mit nur einem Klick herunter.
  • 🚀Bereit für jede Office-Aufgabe: Installieren Sie die Add-Ins, die Sie brauchen – genau dann, wenn Sie sie benötigen.
  • 🧰Enthalten: Kutools für Excel / Kutools für Outlook / Kutools für Word / Office Tab Pro / Kutools for PowerPoint