Hoppa till huvudinnehåll

 Hur skickar jag ett hälsningsmeddelande till en kontakt automatiskt om hans födelsedag är idag i Outlook?

Någon gång kanske du vill skicka ett hälsningsmeddelande automatiskt till kontakten när hans födelsedag är idag i Outlook. Det blir ett tråkigt jobb när du kontrollerar kontaktens födelsedag en efter en och skickar hälsningsmeddelandena manuellt. Den här artikeln kommer jag att introducera en VBA-kod för att lösa den snabbt och enkelt.

Skicka ett hälsningsmeddelande automatiskt till en kontakt baserat på hans födelsedag med VBA-kod i Outlook


Skicka ett hälsningsmeddelande automatiskt till en kontakt baserat på hans födelsedag med VBA-kod i Outlook

För att skicka ett hälsningsmeddelande automatiskt till en kontakt om hans födelsedag är idag, sätt först in en VBA-kod, sedan måste du skapa en återkommande uppgift för att utlösa koden.

Följande steg kan hjälpa dig:

1. Starta Outlook och håll ned ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer dubbelklicka ThisOutlookSession från Project1 (VbaProject.OTM) rutan för att öppna läget och sedan kopiera och klistra in följande kod i den tomma modulen.

VBA-kod: Skicka automatiskt ett hälsningsmeddelande till en kontakt baserat på födelsedag:

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 

3. Klicka sedan verktyg > Referensprojekt i Microsoft Visual Basic för applikationer fönster, i poppade ut Referenser-projekt1 dialogruta, kontrollera Microsoft Word -objektbibliotek och Microsoft Scripting Runtime alternativ från Tillgängliga referenser listruta, se skärmdump:

4. Klicka sedan OK för att stänga dialogrutan, nu bör du skapa en uppgift för att trigga VBA-koden. Vänligen gå till uppgift fönster, klicka Ny aktivitet för att skapa en uppgift:

(1.) I Ämnet rad ska du ange Ämne som Skicka födelsedagshälsningsmail;

(2.) Klicka sedan på Upprepning under uppgift flik;

(3.) I Återkommande uppgift dialogrutan väljer du Dagligen och specificera var 1 dag(ar) alternativ från Återkommande mönster sektion;

5. Klicka sedan OK för att stänga dialogrutan, återgå till uppgiftsfönstret, vänligen ställ in en påminnelse för den återkommande uppgiften enligt följande skärmdump:

6. Från och med nu, när påminnelsen larmar, kommer makrot att utlösas omedelbart. En dialogruta dyker upp för att påminna dig om att infoga födelsedagshälsningarna enligt följande skärmdump:

7. Klicka sedan OK knappen skickas ett hälsningsmeddelande automatiskt till kontakten vars födelsedag är idag.


Bästa kontorsproduktivitetsverktyg

Kutools för Outlook - Över 100 kraftfulla funktioner för att överladda din Outlook

📧 Email Automation: Frånvaro (tillgänglig för POP och IMAP)  /  Schemalägg Skicka e-post  /  Auto CC/BCC enligt regler när du skickar e-post  /  Automatisk vidarebefordran (avancerade regler)   /  Lägg automatiskt till hälsning   /  Dela automatiskt e-postmeddelanden med flera mottagare i individuella meddelanden ...

📨 Email Management: Hämta enkelt e-postmeddelanden  /  Blockera bluff-e-postmeddelanden av ämnen och andra  /  Ta bort duplicerade e-postmeddelanden  /  Avancerad Sökning  /  Konsolidera mappar ...

📁 Bilagor ProBatch Spara  /  Batch lossa  /  Batchkomprimera  /  Automatisk sparning   /  Auto Lossa  /  Automatisk komprimering ...

🌟 Gränssnittsmagi: 😊 Fler vackra och coola emojis   /  Öka din Outlook-produktivitet med flikar  /  Minimera Outlook istället för att stänga ...

👍 Underverk med ett klick: Svara alla med inkommande bilagor  /   E-postmeddelanden mot nätfiske  /  🕘Visa avsändarens tidszon ...

👩🏼‍🤝‍👩🏻 Kontakter och kalender: Lägg till kontakter i grupp från valda e-postmeddelanden  /  Dela upp en kontaktgrupp till individuella grupper  /  Ta bort påminnelser om födelsedag ...

Över 100 funktioner Vänta på din utforskning! Klicka här för att upptäcka mer.

Läs mer       Gratis nedladdning      Inköp
 

 

Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Good morning,
I've set this up exactly as outlined, I have Kutools installed, however, there's no Macro popup when the reminder activates. What information can I provide you to help me solve this?
This comment was minimized by the moderator on the site
how he come to know who's birthday is today.you not mention, from where he pick detail of the employee.one more thing, i want to send birthday mail to all employee email id.
This comment was minimized by the moderator on the site
I am using this code with outlook 2016. Followed all the steps but kutool popup is not coming as mentioned in last step
This comment was minimized by the moderator on the site
hay alguna forma para mac?
This comment was minimized by the moderator on the site
Buen día, podría indicar cómo el código obtiene y valida la fecha de nacimiento??? . Otra consulta es si funciona para una lista de usuarios. Es decir que valide sus fechas de nacimiento y les envíe automáticamente saludos de cumpleaños. Muchas gracias
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations