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
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
🤖 AI Mail Assistant: Instant proffs-e-postmeddelanden med AI-magi – ett klick för geniala svar, perfekt ton, flerspråkig behärskning. Förvandla e-post utan ansträngning! ...
📧 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 Pro: Batch 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.