Passer au contenu principal

 Comment envoyer automatiquement un message d'accueil à un contact si son anniversaire est aujourd'hui dans Outlook?

Parfois, vous souhaiterez peut-être envoyer automatiquement un message d'accueil au contact lorsque son anniversaire est aujourd'hui dans Outlook. Ce sera un travail fastidieux lorsque vous vérifiez l'anniversaire du contact un par un et envoyez les e-mails de bienvenue manuellement. Cet article, je vais vous présenter un code VBA pour le résoudre rapidement et facilement.

Envoyer un message d'accueil automatiquement à un contact en fonction de son anniversaire avec le code VBA dans Outlook


Envoyer un message d'accueil automatiquement à un contact en fonction de son anniversaire avec le code VBA dans Outlook

Pour envoyer automatiquement un message d'accueil à un contact si son anniversaire est aujourd'hui, insérez d'abord un code VBA, puis vous devez créer une tâche récurrente pour déclencher le code.

Les étapes suivantes peuvent vous aider:

1. Lancez Outlook, puis maintenez la touche ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Dans le Microsoft Visual Basic pour applications fenêtre, double-cliquez Cette session Outlook du Projet1 (VbaProject.OTM) volet pour ouvrir le mode, puis copiez et collez le code suivant dans le module vide.

Code VBA: envoyer automatiquement un message d'accueil à un contact en fonction de son anniversaire:

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. Puis clcik Outils > Bibliographie dans l' Microsoft Visual Basic pour applications fenêtre, dans le sauté Références-Projet1 boîte de dialogue, cochez Bibliothèque d'objets Microsoft Word et Exécution de scripts Microsoft options du Références disponibles zone de liste, voir capture d'écran:

4. Puis clique OK pour fermer la boîte de dialogue, vous devez maintenant créer une tâche pour déclencher le code VBA. Veuillez aller au Tâche Cliquez sur Nouvelle tâche pour créer une tâche:

(1.) Dans Sujetligne t, vous devez entrer le sujet comme Envoyer un e-mail de voeux d'anniversaire;

(2.) Cliquez ensuite sur Récurrence sous le Tâche languette;

(3.) Dans le Récurrence de tâche boîte de dialogue, sélectionnez Tous les jours et préciser tous les 1 jour (s) Option de Modèle de récurrence section;

5. Puis clique OK pour fermer la boîte de dialogue, revenez à la fenêtre de la tâche, veuillez définir un rappel pour la tâche récurrente comme illustré ci-dessous:

6. Désormais, lorsque le rappel alerte, la macro se déclenchera immédiatement. Une boîte de dialogue apparaîtra pour vous rappeler d'insérer les voeux d'anniversaire comme illustré ci-dessous:

7. Puis clique OK bouton, un mail de bienvenue sera automatiquement envoyé au contact dont l'anniversaire est aujourd'hui.


Meilleurs outils de productivité bureautique

Kutools for Outlook - Plus de 100 fonctionnalités puissantes pour booster votre Outlook

🤖 Assistant de messagerie IA: E-mails professionnels instantanés avec la magie de l'IA : un clic pour des réponses géniales, un ton parfait, une maîtrise multilingue. Transformez l’emailing sans effort ! ...

📧 Email Automation: Absent du bureau (disponible pour POP et IMAP)  /  Programmer l'envoi d'e-mails  /  Auto CC/BCC par règles lors de l'envoi d'un e-mail  /  Transfert automatique (règles avancées)   /  Ajouter un message d'accueil automatique   /  Divisez automatiquement les e-mails multi-destinataires en messages individuels 

(I.e. Email Management: Rappel facile des e-mails  /  Bloquer les e-mails frauduleux par sujets et autres  /  Supprimer les e-mails en double  /  Recherche Avancée  /  Consolider les dossiers 

(I.e. Pièces jointes ProSauvegarde par lots  /  Détachement par lots  /  Compression par lots  /  Enregistrement automatique   /  Détachement automatique  /  Compression automatique 

???? Magie de l'interface: 😊Plus d'émojis jolis et cool   /  Boostez votre productivité Outlook avec des vues à onglets  /  Réduire Outlook au lieu de fermer 

???? Merveilles en un clic: Répondre à tous avec les pièces jointes entrantes  /   E-mails anti-hameçonnage  /  🕘Afficher le fuseau horaire de l'expéditeur 

👩🏼‍🤝‍👩🏻 Contacts et calendrier: Ajouter par lots des contacts à partir des e-mails sélectionnés  /  Diviser un groupe de contacts en groupes individuels  /  Supprimer les rappels d'anniversaire 

infos Caractéristiques 100 Attendez votre exploration ! Cliquez ici pour en savoir plus.

 

 

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