¿Cómo evitar que Outlook recuerde en un momento demasiado pronto o demasiado tarde?
Por ejemplo, usted trabaja de 9:00 a. m. a 6:00 p. m. todos los días, pero ahora está creando una cita para las 10:00 a. m. y añade un recordatorio de 2 horas en Outlook. Esto haría que el recordatorio se activara a las 8:00 a. m., antes del inicio de su jornada laboral. En casos especiales, incluso podría sonar a medianoche, lo cual resulta bastante incómodo. Muchos usuarios de Outlook desean evitar que los recordatorios aparezcan demasiado pronto o demasiado tarde. A continuación, le presento una macro VBA para resolver este problema en Outlook.
- Mejore su productividad en el correo electrónico con tecnología de IA, que le permite responder correos al instante, redactar nuevos mensajes, traducir comunicaciones y mucho más con total eficiencia.
- Automatice el envío de correos electrónicos con CC/BCC automático y Reenvío automático mediante reglas; envíe una Respuesta automática (fuera de la oficina) sin necesidad de un servidor Exchange...
- Reciba recordatorios como Indicar al responder a un correo electrónico en el que estoy en CCO al responder a todos cuando usted está en la lista de CCO, y Recordatorio al olvidar adjuntos para archivos adjuntos olvidados…
- Mejore la eficiencia en el correo electrónico con Responder con archivos adjuntos (todos), saludo automático o fecha y hora en firma o asunto, Responder varios correos electrónicos...
- Simplifique el envío de correos con Recuperar correo electrónico, Herramientas de archivos adjuntos (Comprimir todo, Guardar automáticamente todo...), Eliminar duplicados y Informe rápido...
Para evitar que Outlook recuerde demasiado pronto o demasiado tarde, puede seguir estos pasos:
Paso 1: Pulse simultáneamente las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
Paso 2: Expanda Objetos de Microsoft Outlook en el panel izquierdo y pegue la siguiente macro VBA en ThisOutlookSession.
VBA: Evitar recordatorios demasiado pronto o demasiado tarde en Outlook
Public WithEvents g_CalendarItems As Outlook.Items
Public Sub Application_Startup()
Set g_CalendarItems = Outlook.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub
Private Sub g_CalendarItems_ItemAdd(ByVal Item As Object)
CheckReminder Item
End Sub
Private Sub g_CalendarItems_ItemChange(ByVal Item As Object)
CheckReminder Item
End Sub
Sub CheckReminder(ByVal Item As Object)
On Error GoTo ProcError
Dim strProcName As String
strProcName = "CheckReminder"
reminderMaxHour = 20
reminderMinHour = 9
Dim aAptItem As Outlook.AppointmentItem
Set aAptItem = Item
If aAptItem.ReminderSet Then
Dim reminderDate As Date
reminderDate = aAptItem.Start - aAptItem.ReminderMinutesBeforeStart / (24 * 60)
reminderHour = (reminderDate - Int(reminderDate)) * 24
tolerance = 0.01 ' avoid floating point small diffs (little bit less than a min)
If reminderHour < reminderMinHour - tolerance Or reminderHour > reminderMaxHour + tolerance Then
' best guess, first try to advance to next minHour
reminderDateSuggestion = reminderDate + (reminderMinHour - reminderHour) / 24
' verify if first guess is valid
If reminderHour < reminderMinHour - tolerance And reminderDateSuggestion <= aAptItem.Start Then
' OK, first guess is valid, keep it
ElseIf reminderHour > reminderMaxHour Then
' go back to max hour (same day)
reminderDateSuggestion = reminderDate - (reminderHour - reminderMaxHour) / 24
Else
' go back to max hour (previous day)
reminderDateSuggestion = reminderDate - (reminderHour + 24 - reminderMaxHour) / 24
End If
rep = MsgBox("The Reminder time is out of specified working period. Would you like to change the Reminder time?" , vbQuestion + vbYesNoCancel)
If rep = vbCancel Then
aAptItem.Display
ElseIf rep = vbYes Then
aAptItem.ReminderMinutesBeforeStart = (aAptItem.Start - reminderDateSuggestion) * 24 * 60
aAptItem.Save
End If
End If
End If
ProcExit:
Exit Sub
ProcError:
MsgBox "Unanticipated error " & Err.Number & " " & Err.Description & vbCrLf & "In procedure: " & strProcName
End Sub
Nota: Puede especificar su horario laboral modificando los siguientes parámetros en el código VBA anterior:
reminderMaxHour = 20
reminderMinHour = 9
Paso 3: Guarde esta macro de VBA y reinicie Microsoft Outlook.
A partir de ahora, al crear una cita con una hora de recordatorio fuera del horario laboral que haya especificado, aparecerá un cuadro de diálogo para avisarle tras hacer clic en el botón Guardar y cerrar.

Si la hora de recordatorio es anterior a la hora mínima especificada (reminderMinHour), haga clic en Sí en el cuadro de diálogo; esto modificará la hora de recordatorio y hará que suene a la hora mínima especificada (reminderMinHour).
Si la hora de recordatorio es posterior a la hora máxima especificada (reminderMaxHour), haga clic en Sí en el cuadro de diálogo; esto modificará la hora de recordatorio y le avisará a la hora máxima especificada (reminderMaxHour).
Nota: Este código VBA funciona correctamente con Outlook 2013, pero no es compatible con Outlook 2010 ni con Outlook 2007.
Las mejores herramientas de productividad para Office
¡Descubra el nuevo Kutools para Outlook con 100+ funciones increíbles!¡Haga clic para descargar ahora!
📧Automatización de correo electrónico: Respuesta automática (disponible para POP e IMAP) / Programar el envío de correos electrónicos / CC/BCC automático según reglas al enviar correos / Reenvío automático (regla avanzada) / Añadir saludo automáticamente / Dividir automáticamente los correos con múltiples destinatarios en mensajes individuales...
📨Gestión de correo electrónico: Recupera tus correos electrónicos / Bloquea correos fraudulentos por asunto y otros criterios / Elimina correos electrónicos duplicados / Búsqueda avanzada / Organiza tus carpetas…
📁Archivos adjuntos Pro: Guardar en lote / Desvincular en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto comprimir...
🌟Magia de la interfaz: 😊Más emojis bonitos y modernos / Le avisa cuando llegan correos importantes / Minimiza Outlook en lugar de cerrarlo…
👍Maravillas con un solo clic: Responder a Todos con Adjuntos / Correos electrónicos antiphishing / 🕘 Mostrar zona horaria: hora actual del remitente...
👩🏼🤝👩🏻Contactos y calendario: Crear contactos en lote a partir de correos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...
Utilice Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y más de 40 idiomas adicionales.


🚀 Descarga con un solo clic — Obtenga todos los complementos de Office
Muy recomendado: Kutools for Office (5 en 1)
Un solo clic para descargar cinco instaladoresa la vez —Kutools para Excel, Outlook, Word, PowerPointy Office Tab Pro.¡Haga clic para descargar ahora!
- ✅Comodidad con un solo clic: Descargue los cinco paquetes de instalación de una sola vez.
- 🚀Listo para cualquier tarea de Office: Instale los complementos que necesite, justo cuando los necesite.
- 🧰Incluido: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint