Note: The other languages of the website are Google-translated. Back to English
Iniciar sesión
or

Registrarse

or

## ¿Cómo enviar un correo electrónico recurrente programado en Outlook?

En Microsoft Outlook, puede enviar fácilmente una cita, reunión o tarea periódica programada a otras personas. Pero si solo desea enviar un correo electrónico recurrente programado sin ninguna cita, reunión o tarea, ¿cómo puede hacerlo? Desafortunadamente, Outlook no ofrece ninguna función para enviar correos electrónicos recurrentes programados, pero en nuestro tutorial, le mostraremos cómo enviar un correo electrónico recurrente programado en Outlook.

Envíe un correo electrónico recurrente programado en Outlook con código VBA

#### Envíe un correo electrónico recurrente programado en Outlook con código VBA

Este tutorial está dividido en cuatro partes, tendrá éxito en enviar un correo electrónico recurrente programado después de terminar estas partes. Haz lo siguiente.

Primera parte: crear una nueva cita

1. Navegue hasta el Calendario ver haciendo clic en Calendario en el objeto Panel de exploracióny luego cree una nueva cita haciendo clic en Nueva cita bajo Incio lengüeta.

3. En el Cita diálogo debajo Cita lengüeta. Necesitas:

 A: Escriba el Asunto B: Ingrese las direcciones de correo electrónico de los destinatarios en el Ubicación C: Configure el Hora de inicio y el Hora de finalización D: Seleccione el recordatorio debajo de recordatorio la lista desplegable. Si elige 15 minutos, significa que le recordará 15 minutos antes cuando se envíe el correo electrónico. E: Redacte su cuerpo de nombramiento.

Nota:: Los Asunto de la cita se convertirá en el asunto recurrente del correo electrónico; y el Organismo de nombramiento se convertirá en el cuerpo del correo electrónico recurrente cuando los destinatarios reciban el correo electrónico.

Segunda parte: crear una nueva categoría

Ahora necesita crear una nueva categoría llamada "Enviar correo electrónico periódico de programación" como sigue:

1. En el Cita cuadro de diálogo, haga clic en Clasificar por categorías > Todas Las Categorias en el objeto Etiquetas grupo bajo Cita lengüeta.

2. Cuando el Categorías de colores cuadro de diálogo emergente, haga clic en Nueva botón. En el Añadir Nueva Categoría diálogo, escriba "Enviar correo electrónico periódico de programación"En el Nombre campo; y luego elija un color en el Color la lista desplegable. Luego haga clic OK.

3. Luego verá el "Enviar correo electrónico periódico de programación”Aparece en la lista, marque la casilla y luego haga clic en OK

Tercera parte: establecer la recurrencia

Ahora es el momento de establecer la recurrencia de la cita.

1. Hacer clic Reaparición en el objeto Opciones grupo bajo Cita lengüeta. Ver captura de pantalla:

2. En el Recurrencia de citas diálogo, configure su Reaparición patrón. Si necesita una hora de finalización, configúrela en Rango de recurrencia. Y luego haz clic OK.

3. Cuando vuelva a la Cita cuadro de diálogo, haga clic en Guardar cerrar botón. Ver captura de pantalla:

Último: use el código VBA para enviar el correo electrónico recurrente de programación

1. Por favor presione otro + F11 para abrir el Microsoft Visual Basic para aplicaciones diálogo.

2. Haga doble clic en Proyecto1 > Objeto de Microsoft Outlook > ThisOutlookSession en el panel izquierdo. Ver captura de pantalla:

3. Copie y pegue el siguiente código VBA en el editor VBA. Y luego haga clic en Ahorra

VBA: envío de correo electrónico recurrente programado

Private Sub Application_Reminder(ByVal Item As Object)
'Updated by Extendoffice 20200522
Dim xMailItem As MailItem
Dim xItemDoc As Word.Document
Dim xNewDoc As Word.Document
Dim xFldPath As String
On Error Resume Next
If Item.Class <> OlObjectClass.olAppointment Then Exit Sub
If Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub
Set xMailItem = Outlook.Application.CreateItem(olMailItem)
Set xItemDoc = Item.GetInspector.WordEditor
xFldPath = CStr(Environ("USERPROFILE"))
xFldPath = xFldPath & "\MyReminder"
If Dir(xFldPath, vbDirectory) = "" Then
MkDir xFldPath
End If
xFldPath = xFldPath & "\AppointmentBody.xml"
xItemDoc.SaveAs2 xFldPath, wdFormatXMLDocument ' wdFormatXML
Set xNewDoc = xMailItem.GetInspector.WordEditor
VBA.DoEvents
xNewDoc.Application.Selection.HomeKey
xNewDoc.Activate
xNewDoc.Application.Selection.InsertFile FileName:=xFldPath, Attachment:=False
With xMailItem
.To = Item.Location
.Recipients.ResolveAll
.Subject = Item.Subject
.Send
End With
Set xMailItem = Nothing
VBA.Kill xFldPath
End Sub

4. Hacer clic Las herramientas > Referencias para abrir el Referencias - proyecto diálogo. En el cuadro de diálogo, marque la Biblioteca de objetos de Microsoft Word opción y haga clic en OK

5. presione el otro + Q teclas al mismo tiempo para cerrar el Microsoft Visual Basic para aplicaciones ventana.

Cuando el precio de la recordatorio apareciendo, el correo electrónico se enviará automáticamente a los destinatarios que haya escrito en el campo Ubicación en la primera parte. Luego haga clic en Descartar en el objeto recordatorio diálogo. Y el correo electrónico se enviará de forma periódica todos los días durante este tiempo. Ver captura de pantalla:

Nota:: El código VBA se probó con éxito en Outlook 2010 y versiones posteriores.

### Kutools para Outlook: trae 100 funciones avanzadas a Outlook y hace que el trabajo sea mucho más fácil.

• Auto CC / BCC por reglas al enviar correo electrónico; Reenvío automático Varios correos electrónicos personalizados; Respuesta automática sin servidor de intercambio y más funciones automáticas ...
• Advertencia de BCC - mostrar mensaje cuando intente responder a todos si su dirección de correo está en la lista CCO; Recordar si faltan archivos adjuntosy más funciones de recordatorio ...
• Responder (todos) con todos los archivos adjuntos en la conversación de correo; Responder muchos correos electrónicos en segundos; Agregar saludo automáticamente cuando responda; Agregar fecha al asunto ...
• Herramientas de archivos adjuntos: administre todos los archivos adjuntos en todos los correos, Desconexión automática, Comprimir todo, Renombrar todo, Guardar todo ... Informe rápido, Contar correos seleccionados...
• Potentes correos electrónicos no deseados por costumbre; Eliminar correos y contactos duplicados... Le permite hacerlo de forma más inteligente, más rápida y mejor en Outlook.

Say something here...
symbols left.
###### or post as a guest, but your post won't be published automatically.
• To post as a guest, your comment is unpublished.
· 5 days ago
I'm useing a german Version of outlook. Whats i have to change in the VBA-code?

• To post as a guest, your comment is unpublished.
· 5 days ago
For me.  I needed to add 2x :

If Item.Class <> OlObjectClass.olAppointment Then
End If

If Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub
End If

• To post as a guest, your comment is unpublished.
· 7 days ago
how to add CC and BCC
• To post as a guest, your comment is unpublished.
· 29 days ago
this saves the email into the Drafts folder without a header or timestamp. How do I get it to include that header and timestamp; and saved in the Sent folder ?
• To post as a guest, your comment is unpublished.
· 2 months ago
I am facing issue with Email Body. in my received email it completely blank. what could be wrong
• To post as a guest, your comment is unpublished.
· 14 days ago
Same for me, I don't know how to fix it
• To post as a guest, your comment is unpublished.
· 5 days ago
scroll down - the question has been covered. :-)
• To post as a guest, your comment is unpublished.
· 3 months ago
Is there a way to modify the code to only send the email if you hit "dismiss" and don't send the email if you "dismiss all" or some other button?
I want to be able to chose each day if I send the email, but still want to be reminded each day.
• To post as a guest, your comment is unpublished.
· 4 months ago
For me the VBA halted on 'CStr(Environ("USERPROFILE"))'.

I have moved both lines starting with 'xFldPth' just below 'On Error Resume Next' which resulted in the code to be fully executed
• To post as a guest, your comment is unpublished.
· 6 months ago
This was working for me for several months. All of the sudden, the reminders are still appearing, but the emails are no longer being sent. Any ideas?
• To post as a guest, your comment is unpublished.
· 6 months ago
Same here. Have you found what make it stop working?
• To post as a guest, your comment is unpublished.
· 6 months ago
Same here, it was working great and over the last day or so, just broke.
• To post as a guest, your comment is unpublished.
· 6 months ago
I am using Office 2016. I am unable to click on CATEGORIZE when doing through NEW APPOINTMENT but Categorize function properly when using NEW EMAIL.
• To post as a guest, your comment is unpublished.
· 6 months ago
Hi. How do I add attachments? I need to pull specific files each month and attach to the email. Is there a way to do this?
• To post as a guest, your comment is unpublished.
· 7 months ago
The emails are being generated but are going to draft folder and not being sent out automatically. How would I fix this?
• To post as a guest, your comment is unpublished.
· 9 months ago
This didn't work for me until I realized that naming the category "Send Scheduled Recurring Email" instead of "Send Schedule Recurring Email" mattered. It was a comment below that brought it to my attention. Thanks!
• To post as a guest, your comment is unpublished.
· 11 months ago
Doesn't work for Outlook 2016
• To post as a guest, your comment is unpublished.
· 11 months ago
I followed the instructions, but I get a .dll error when I check microsoft word 16.0 object library. I don't know if it matters, but the other object libraries show up as 14.0
• To post as a guest, your comment is unpublished.
· 1 years ago
often the location bar is unable to contain all of the email addresses for me, I can certainly use a distribution list or group contact but how do I unpack it so the resulting email shows the addresses individually?
• To post as a guest, your comment is unpublished.
· 1 years ago
It worked very well with MS Office 365 -outlook but then stopped working. I cant figure out what changed. Did anyone else run into similar problem? Any suggestion on how to debug what is going on?
• To post as a guest, your comment is unpublished.
· 1 years ago
I can confirm it works on Outlook 2019 as well
• To post as a guest, your comment is unpublished.
· 1 years ago
Hi, been using this without issue for a few years. Suddenly in the last couple of months, it stopped sending the email. Reminder still goes out to me at least. I came here and and see the code has been updated, which I did and now I get "userdefined type not identified" error that others seem to have gotten. Is there a fix for this or no?
• To post as a guest, your comment is unpublished.
· 1 years ago
I have followed all the instructions: I enabled Macros; I configured the appointment as instructed and added the VBA Macro....I checked all the references as instructed.
The email is not being sent, and I'm not getting any compiler errors. What could be the problem? I'm using Outlook 2016.
• To post as a guest, your comment is unpublished.
· 1 years ago
I can't get it to work either in Outlook 2016
• To post as a guest, your comment is unpublished.
· 1 years ago
Is there a way to send the email from certain different e-mail (SendAs or SendOnBehalfOfName)?
• To post as a guest, your comment is unpublished.
· 1 years ago
Every time any reminder pops up, i am getting a VBA error of "userdefined type not identified".
• To post as a guest, your comment is unpublished.
· 1 years ago
Pardon me if this is something you already know, but without having other details besides what you posted, I suggest you make sure both microsoft office 16.0 object library AND microsoft word 16.0 object library are selected from step 4 above.
• To post as a guest, your comment is unpublished.
· 1 years ago
This worked for me thank you

• To post as a guest, your comment is unpublished.
· 1 years ago
Hi. I know this is an old post but I'm trying to use it to send a periodic email.

I'm able to complete all the steps but the code line:
Dim xItemDoc As Word.Document
prompts a compile error: "userdeffined type not defined "

I replaced with:
Dim xItemDoc As DocumentItem

compiles ok but emai does not get sent.

anyone can help?

thank you
• To post as a guest, your comment is unpublished.
· 1 years ago
I get the reminder but no email, ideas?
• To post as a guest, your comment is unpublished.
· 1 years ago
Same issue here
• To post as a guest, your comment is unpublished.
· 1 years ago
I received the email, however the body of the email is blank. I have put text and a signature in the body but when the email comes the body of the email is blank.
• To post as a guest, your comment is unpublished.
· 1 years ago
Try adding ".Body = Item.Body" under the line ".Subject = Item.Subject" in the VBA Code mentioned in this article.
• To post as a guest, your comment is unpublished.
· 1 years ago
I have same issue, where on the code we have to adding
".Body = Item.Body" under the line ".Subject = Item.Subject"
• To post as a guest, your comment is unpublished.
· 2 months ago
Thank you very much Tony, you helped me a lot :D
• To post as a guest, your comment is unpublished.
· 1 years ago
I have followed all instructions and made sure the object library was checked etc but get the error 'compile error user type not defined' when it's time for the reminder.
Any solutions to this?

Thanks!
• To post as a guest, your comment is unpublished.
· 1 years ago
I get the same error. What's the solution here?
• To post as a guest, your comment is unpublished.
· 1 years ago
I had the same error as well.
• To post as a guest, your comment is unpublished.
· 1 years ago
It worked for me on Testing but when I made the changes to send it actually it didn't worked. Is there any specific modifications I needed to make? I see my Macro is disabled but it's on office system so I can't change it but assuming it worked for the first time it should work alright again; right?
• To post as a guest, your comment is unpublished.
· 1 years ago
how can this be sent to emails that change on a weekly basis?
• To post as a guest, your comment is unpublished.
· 1 years ago
If they change every week then it's not able to work really. What changes? if it's an attached file that should be fine because it grabs the file each time.
• To post as a guest, your comment is unpublished.
· 1 years ago
this is not working for me
• To post as a guest, your comment is unpublished.
· 1 years ago
I Tried using the above code it works very fine. But the problem is in the body of the email I am including Pictures, text and Hyperlinks to that. By the time mail reaching to the receiver everything is converting as a Text. Can anyone help me on this
• To post as a guest, your comment is unpublished.
· 1 years ago
Hi,
Sorry for the inconvenience. The code has been updated to solve the problem. Please have a try and thank you for your comment.
• To post as a guest, your comment is unpublished.
· 1 years ago
Hi,
I am facing the same issue. can you please post the updated code.

Also is there any way to include email address as CC ?

• To post as a guest, your comment is unpublished.
· 1 years ago
superb works for me thanks yaa
• To post as a guest, your comment is unpublished.
· 1 years ago
It did work on my laptop before. I somewhat messed up my VBA. now it's not working..
How do I restart of clear my VBA?

I am not a programmer. I just wanted automatic email generated and googled it. Tried various things and then came across this post.

• To post as a guest, your comment is unpublished.
· 2 years ago
How do you add an attachment to go with the email that is sent?
• To post as a guest, your comment is unpublished.
· 2 years ago
Is there a way to make this BCC?
• To post as a guest, your comment is unpublished.
· 2 years ago
I got to the VBA code copied, pasted, and saved fine. But no reminder popped up for me to dismiss. Will this still send?
• To post as a guest, your comment is unpublished.
· 2 years ago
Hi Jan,
Please go to the Sent Items folder to check for the sending email.
• To post as a guest, your comment is unpublished.
· 2 years ago
It's great work, tks
• To post as a guest, your comment is unpublished.
· 2 years ago
This is limited on the number of email addresses you can add in the locations. Any work arounds?
• To post as a guest, your comment is unpublished.
· 2 years ago
This still works. Just tested on Office 2016/ O365. Make sure macros are enabled. Make sure you are pasting the code under "application" and "Reminder" as shown in the screen shot.
• To post as a guest, your comment is unpublished.
· 2 years ago
Good, now it works!
I've just one problem. If my Outlook client application is close, it don't work ...any solutions?
• To post as a guest, your comment is unpublished.
· 2 years ago
I am getting a "compile error: invalid outside procedure" every time ANY reminder pops up, not just the one's for the scheduled send. Also, my scheduled send doesn't work. Any ideas? I copied and pasted the code from above. Thanks.
• To post as a guest, your comment is unpublished.
· 2 years ago
Not working for me.... :(
• To post as a guest, your comment is unpublished.
· 2 years ago
It didn't work for me either :/.Is there any update available?
• To post as a guest, your comment is unpublished.
· 2 years ago
This still works? :D
• To post as a guest, your comment is unpublished.
· 2 years ago
Does this still work? Unfortunately it doesn#t work for me...
• To post as a guest, your comment is unpublished.
· 2 years ago
Does this go out as an invite? Does the recipient have to accept the invite?
• To post as a guest, your comment is unpublished.
· 2 years ago
It's in the location field rather than in an invitee field, so, no - no invite goes out to the location address(es). No reminders to the location address(es) normally, either. This code is triggered by the application_reminder event for this appointment and adds functionality to it, to

- create an e-mail message

- put the appointment location address(es) in the To field of the e-mail message.

- put the appointment subject line in the Subject field of the e-mail message.

- put the appointment body in the Body field of the e-mail message.

- send the e-mail message.
• To post as a guest, your comment is unpublished.
· 2 years ago
If I want multiple of these emails, each with a seperate category/calendar activity like "Send Schedule Recurring Email", "Send Schedule Recurring Email 2" & "Send Schedule Recurring Email 3" etc. How would I go about doing that? Do I copy this code all together for each category/calendar activity, or just add each "Send Schedule Recurring Email x" in the existing code? If so, how do I seperate them? Comma? < > ?
• To post as a guest, your comment is unpublished.
· 2 years ago
Replace
If Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub
with
If Left(Item.Categories,29) <> "Send Schedule Recurring Email" Then Exit Sub

Or, if your category names are all different, then
If Item.Categories <> "First category name" AND Item.Categories <> "Second category name" AND Item.Categories <> "something completely different" Then Exit Sub
• To post as a guest, your comment is unpublished.
· 2 years ago
Just wanted to add my Thanks out here.
I was struggling with my own version of this and found this and others.
This is the best version of this I saw. Specifically what I like about it is - this works if you have multiple different emails you want to send. Because, it does not use "hardcoded" variables like the body or emails addresses pulling them from the appointment detail, you do not need to create different micros for each email or edit the code for every little detail that might change. You can even use this for non-reoccurring emails that you want o schedule (yes, you could do a delayed send). that's all controlled by the reoccurrence of the appointment.
The one con is like any macro based solution, outlook does have to be open (running).

A couple changes someone might want to make.
If you do not want replies going to everyone who got the email, change .To - to .BCC.
If you want to Review or make miner changes before it is sent, change .send to .display
• To post as a guest, your comment is unpublished.
· 2 years ago
I tried this but I cannot get my tests to work.
• To post as a guest, your comment is unpublished.
· 2 years ago
Hi,
Thank you so much. It works for Outlook 2016, the version we use at our company.
I have a question. What do I need to add to the VBA so that it will also grab pictures? I included picture/graphics in my Body. The email grabbed text only.

Ann
• To post as a guest, your comment is unpublished.
· 2 years ago
For those it's not working - You need to enable Macro commands on Outlook first
• To post as a guest, your comment is unpublished.
· 3 years ago
Is it necessary to attach a reminder to trigger the email?
• To post as a guest, your comment is unpublished.
· 3 years ago
Hi there, my appointment did not send. I am unsure if there is an issue with the code I am using. I want to send the email to 6 addresses and have separated them with semi colons; do I need to put the actual email addresses in to the code? Here is the code I used:

Private Sub Application_Reminder(ByVal Item As Object)
Dim MItem As MailItem
Set MItem = Application.CreateItem(olMailItem)
If Item.MessageClass <> "IPM.Appointment" Then Exit Sub
If Item.Categories <> "Send Schedule Recurring Email" Then Exit Sub
MItem.To = "single or multiple emails separated by semi colon ";" "
MItem.CC = "single or multiple emails separated by semi colon ";" "

MItem.Subject = Item.Subject
MItem.Body = Item.Body
With MItem
.Attachments.Add "network path of the file to be attached. eg: \\abc\def\ghi.doc"
.Display

End With
MItem.Send
Set MItem = Nothing
End Sub