¿Cómo marcar correos electrónicos no leídos con más de un número específico de días como leídos automáticamente en Outlook?
Si hay varios correos electrónicos no leídos en la carpeta de Bandeja de entrada, normalmente puedes aplicar la función Marcar todo como leído para marcar manualmente todos los correos electrónicos no leídos como leídos. Pero, ¿has intentado alguna vez marcar los correos electrónicos no leídos que tienen más de un número específico de días como leídos automáticamente en Outlook sin tener que configurarlo manualmente cada vez?
Marcar correos electrónicos no leídos con más de un número específico de días como leídos automáticamente con código VBA
Para marcar automáticamente todos los correos electrónicos no leídos con más de un número específico de días como leídos, el siguiente código VBA puede ayudarte:
1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haz doble clic en ThisOutlookSession desde el panel Project1(VbaProject.OTM) para abrir el modo, y luego copia y pega el siguiente código en el módulo en blanco.
Código VBA: Auto-marcar correos electrónicos no leídos con más de un número específico de días como leídos:
Private Sub Application_Startup()
Call MarkOldUnreadEmailsAsRead
End Sub
Private Sub MarkOldUnreadEmailsAsRead()
Dim xInboxFld As Outlook.Folder
Dim xAccount As Account
On Error GoTo L1
For Each xAccount In Outlook.Application.Session.Accounts
Set xInboxFld = xAccount.DeliveryStore.GetDefaultFolder(olFolderInbox)
Call Processfolders(xInboxFld)
Next xAccount
L1: Exit Sub
End Sub
Private Sub Processfolders(ByVal InboxFld As Outlook.Folder)
Dim xItems As Outlook.Items
Dim i As Long
Dim xSubFld As Outlook.Folder
On Error Resume Next
Set xItems = InboxFld.Items
For i = 1 To xItems.Count
If DateDiff("d", xItems(i).ReceivedTime, Now) >= 15 Then
If xItems(i).UnRead = True Then
xItems(i).UnRead = False
xItems(i).Save
End If
End If
Next
If InboxFld.Folders.Count > 0 Then
For Each xSubFld In InboxFld.Folders
Call Processfolders(xSubFld)
Next
End If
End Sub
Nota: En el código anterior, puedes cambiar el número de días dentro de este script: If DateDiff("d", xItems(i).ReceivedTime, Now) >= 15 Then a lo que necesites.

3. Luego guarda y cierra esta ventana de código, desde ese momento, cada vez que inicies Outlook, todos los correos electrónicos no leídos que tengan más de los días predefinidos se marcarán como leídos automáticamente de inmediato.
Nota: Este código solo está disponible para la cuenta de datos predeterminada.
Las mejores herramientas de productividad para Office
Últimas noticias: ¡Kutools para Outlook lanza su versión gratuita!
Descubre la nueva versión GRATUITA de Kutools para Outlook con más de70 funciones increíbles, ¡para que la disfrutes PARA SIEMPRE! ¡Haz clic para descargar ahora!
📧 Automatización de Email: Respuesta automática (Disponible para POP e IMAP) / Programar envío de correos / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente emails con múltiples destinatarios en mensajes individuales...
📨 Gestión de Email: Recuperar correo electrónico / Bloquear correos fraudulentos por asunto y otros criterios / Eliminar correos electrónicos duplicados / Búsqueda Avanzada / Organizar carpetas...
📁 Adjuntos Pro: Guardar en lote / Desanexar en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto Comprimir...
🌟 Magia en la interfaz: 😊Más emojis bonitos y modernos / Avisos cuando llegan correos importantes / Minimiza Outlook en vez de cerrarlo...
👍 Funciones de un solo clic: Responder a Todos con Adjuntos / Correos electrónicos anti-phishing / 🕘Mostrar la zona horaria del remitente...
👩🏼🤝👩🏻 Contactos y Calendario: Agregar contactos en lote desde correos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...

