Saltar al contenido principal

 ¿Cómo enviar un mensaje de saludo a un contacto automáticamente si su cumpleaños es hoy en Outlook?

En algún momento, es posible que desee enviar un mensaje de saludo automáticamente al contacto cuando su cumpleaños sea hoy en Outlook. Será un trabajo tedioso cuando verifique el cumpleaños del contacto uno por uno y envíe los correos electrónicos de saludo manualmente. En este artículo, presentaré un código VBA para resolverlo rápida y fácilmente.

Envíe un mensaje de saludo automáticamente a un contacto basado en su cumpleaños con el código VBA en Outlook


Envíe un mensaje de saludo automáticamente a un contacto basado en su cumpleaños con el código VBA en Outlook

Para enviar un mensaje de saludo automáticamente a un contacto si su cumpleaños es hoy, primero inserte un código VBA, luego debe crear una tarea recurrente para activar el código.

Los siguientes pasos pueden ayudarlo:

1. Inicie Outlook y luego mantenga presionado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En la Microsoft Visual Basic para aplicaciones ventana, haga doble clic Esta sesión de Outlook del desplegable Proyecto1 (VbaProject.OTM) panel para abrir el modo y luego copie y pegue el siguiente código en el módulo en blanco.

Código de VBA: envía automáticamente un mensaje de saludo a un contacto según el cumpleaños:

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. Luego haga clic Herramientas > Referencias existentes Microsoft Visual Basic para aplicaciones ventana, en el aparecido Referencias-Proyecto1 cuadro de diálogo, comprobar Biblioteca de objetos de Microsoft Word y Tiempo de ejecución de secuencias de comandos de Microsoft opciones del Referencias disponibles cuadro de lista, ver captura de pantalla:

4. Luego haga clic OK Para cerrar el cuadro de diálogo, ahora debe crear una tarea para activar el código VBA. Por favor ve al Tarea Panel, haga clic Nueva tarea para crear una tarea:

(1 en Asuntot línea, debe ingresar Asunto como Enviar correo de felicitación de cumpleaños;

(2.) Luego haga clic en Reaparición bajo el Tarea lengüeta;

(3.) En el Recurrencia de tareas cuadro de diálogo, seleccione Diario y especificar cada 1 día(s) Opción de la Patrón de recurrencia, patrón recurrente sección;

5. Luego haga clic OK Para cerrar el cuadro de diálogo, regrese a la ventana de tareas, configure un recordatorio para la tarea recurrente como se muestra a continuación:

6. A partir de ahora, cuando el recordatorio avise, la macro se activará inmediatamente. Aparecerá un cuadro de diálogo para recordarle que debe insertar los saludos de cumpleaños como se muestra en la siguiente captura de pantalla:

7. Luego haga clic OK , se enviará automáticamente un correo de saludo al contacto cuyo cumpleaños es hoy.


Las mejores herramientas de productividad de oficina

Kutools para Outlook - Más de 100 potentes funciones para potenciar tu perspectiva

🤖 Asistente de correo AI: Correos electrónicos profesionales instantáneos con magia de IA: respuestas geniales con un clic, tono perfecto y dominio multilingüe. ¡Transforme el correo electrónico sin esfuerzo! ...

📧 Automatización de correo electrónico: Fuera de la oficina (disponible para POP e IMAP)  /  Programar envío de correos electrónicos  /  CC/CCO automático según reglas al enviar correo electrónico  /  Reenvío automático (reglas avanzadas)   /  Agregar saludo automáticamente   /  Divida automáticamente correos electrónicos de múltiples destinatarios en mensajes individuales ...

📨 Gestión de correo electrónico: Recuperar correos electrónicos fácilmente  /  Bloquear correos electrónicos fraudulentos por sujetos y otras personas  /  Eliminar correos electrónicos duplicados  /  Búsqueda Avanzada  /  Consolidar carpetas ...

📁 Archivos adjuntos profesionalesGuardar lote  /  Separación de lotes  /  Comprimir por lotes  /  Ahorro automático   /  Desconexión automática  /  Autocompresión ...

???? Interfaz mágica: 😊Más emojis bonitos y geniales   /  Aumente su productividad en Outlook con vistas con pestañas  /  Minimizar Outlook en lugar de cerrar ...

👍 Maravillas con un clic: Responder a todos los archivos adjuntos entrantes  /   Correos electrónicos antiphishing  /  🕘Mostrar zona horaria del remitente ...

👩🏼‍🤝‍👩🏻 Contactos y calendario: Agregar por lotes contactos de correos electrónicos seleccionados  /  Dividir un grupo de contactos en grupos individuales  /  Eliminar recordatorios de cumpleaños ...

Mas de Características 100 ¡Espere su exploración! Haga clic aquí para descubrir más.

 

 

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