Gå til hovedindhold

 Hvordan sender man automatisk en hilsen til en kontakt, hvis hans fødselsdag er i dag i Outlook?

En eller anden gang vil du muligvis automatisk sende en hilsen til kontakten, når hans fødselsdag er i dag i Outlook. Det vil være et kedeligt job, når du kontrollerer kontaktpersonens fødselsdag en efter en og sender hilsen-e-mails manuelt. Denne artikel vil jeg introducere en VBA-kode for at løse den hurtigt og nemt.

Send automatisk en hilsen til en kontakt baseret på hans fødselsdag med VBA-kode i Outlook


Send automatisk en hilsen til en kontakt baseret på hans fødselsdag med VBA-kode i Outlook

For at sende en hilsen automatisk til en kontakt, hvis hans fødselsdag er i dag, skal du først indsætte en VBA-kode, så skal du oprette en tilbagevendende opgave for at udløse koden.

Følgende trin kan hjælpe dig:

1. Start Outlook, og hold derefter nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. I Microsoft Visual Basic til applikationer dobbeltklik på vinduet Denne OutlookSession fra Project1 (VbaProject.OTM) rude for at åbne tilstanden og derefter kopiere og indsætte følgende kode i det tomme modul.

VBA-kode: Send automatisk en hilsen til en kontakt baseret på fødselsdag:

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. Klik derefter Værktøjer > Referencer i Microsoft Visual Basic til applikationer vindue, i poppet ud Referencer-projekt1 dialogboks, tjek Microsoft Word-objektbibliotek , Microsoft Scripting Runtime indstillinger fra Tilgængelige referencer listefelt, se skærmbillede:

4. Klik derefter på OK for at lukke dialogen, skal du nu oprette en opgave for at udløse VBA-koden. Gå venligst til Opgaver rude, klik Ny opgave for at oprette en opgave:

(1.) I Underemnet linje, skal du indtaste Emne som Send fødselsdagshilsen;

(2.) Klik derefter på Gentagelse under Opgaver fanen;

(3.) I Opgave gentagelse dialogboksen, vælg Daglige og specificer hver 1 dag(e) mulighed fra Gentagelsesmønster afsnit;

5. Klik derefter på OK for at lukke dialogboksen, vende tilbage til opgavevinduet, indstil en påmindelse for den tilbagevendende opgave som følgende skærmbillede:

6. Fra nu af, når påmindelsen advarer, vil makroen blive udløst med det samme. En dialogboks vil poppe ud for at minde dig om at indsætte fødselsdagshilsenerne som følgende skærmbillede vist:

7. Klik derefter på OK knappen, vil der automatisk blive sendt en hilsen til den kontakt, hvis fødselsdag er i dag.


Bedste kontorproduktivitetsværktøjer

Kutools til Outlook - Over 100 kraftfulde funktioner til at superlade din Outlook

🤖 AI Mail Assistant: Øjeblikkelige pro-e-mails med AI-magi – et klik for geniale svar, perfekt tone, flersproget beherskelse. Forvandl e-mailing ubesværet! ...

📧 Email Automation: Ikke til stede (tilgængelig til POP og IMAP)  /  Planlæg Send e-mails  /  Auto CC/BCC efter regler ved afsendelse af e-mail  /  Automatisk videresendelse (avancerede regler)   /  Tilføj automatisk hilsen   /  Opdel automatisk e-mails med flere modtagere i individuelle meddelelser ...

📨 Email Management: Genkald nemt e-mails  /  Bloker svindel-e-mails af emner og andre  /  Slet duplikerede e-mails  /  Avanceret søgning  /  Konsolider mapper ...

📁 Vedhæftede filer ProBatch Gem  /  Batch adskilles  /  Batch komprimere  /  Automatisk gem   /  Automatisk afmontering  /  Automatisk komprimering ...

🌟 Interface Magic: 😊 Flere smukke og seje emojis   /  Boost din Outlook-produktivitet med fanebaserede visninger  /  Minimer Outlook i stedet for at lukke ...

👍 Wonders med et enkelt klik: Besvar alle med indgående vedhæftede filer  /   Anti-phishing e-mails  /  🕘Vis afsenderens tidszone ...

👩🏼‍🤝‍👩🏻 Kontakter og kalender: Batch Tilføj kontakter fra udvalgte e-mails  /  Opdel en kontaktgruppe til individuelle grupper  /  Fjern fødselsdagspåmindelser ...

Over 100 Features Afvent din udforskning! Klik her for at finde mere.

Læs mere       Gratis download      Køb
 

 

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