Algunos usuarios desean que Outlook pueda advertirle si hay demasiados correos electrónicos no leídos en su bandeja de entrada, incluidas las subcarpetas. Aunque Outlook no ofrece dicha función, aún se puede realizar con código VBA. Este artículo le mostrará este código.
A veces, debido a su apretada agenda, puede dejar una gran cantidad de correos sin leer en su bandeja de entrada. Con más y más correos electrónicos acumulados, tratarlos más tarde será una tarea bastante tediosa y problemática. En este caso, puede esperar que Outlook pueda recordarle si la cantidad de correos electrónicos no leídos excede un límite específico. A continuación, le compartiremos un medio para lograr esta función.

Reciba una advertencia si hay demasiados correos electrónicos no leídos
- Para empezar, abre tu programa Outlook como de costumbre.
- A continuación, en la ventana principal de Outlook, presione los botones de tecla "Alt + F11".
- Luego, accederá a la ventana "Microsoft Visual Basic para Aplicaciones", en la que debe buscar y abrir el proyecto "ThisOutlookSession".
- Posteriormente, debe copiar el siguiente código VBA en este proyecto.
Private objInbox As Outlook.Folder
Private WithEvents objItems As Outlook.Items
Private lUnreadItemCount As Long
Private Sub Application_Startup()
Set objInbox = Application.Session.GetDefaultFolder(olFolderInbox)
Set objItems = objInbox.Items
lUnreadItemCount = 0
Call CountUnreadEmails(objInbox, lUnreadItemCount)
'If there are more than 10 unread emails
If lUnreadItemCount > 10 Then
MsgBox "Too many unread emails in Inbox!" & vbCr & "Please deal with them as soon as possible!", vbExclamation + vbOKOnly, "Check Unread Emails"
End If
End Sub
Private Sub objItems_ItemAdd(ByVal Item As Object)
Call CountUnreadEmails(objInbox, lUnreadItemCount)
lUnreadItemCount = 0
If lUnreadItemCount > 10 Then
MsgBox "Too many unread emails!" & vbCr & "Please deal with them as soon as possible!", vbExclamation + vbOKOnly, "Check Unread Emails"
End If
End Sub
Private Sub CountUnreadEmails(ByVal objFolder As Outlook.Folder, ByRef lCount As Long)
Dim objUnreadItems As Outlook.Items
Dim objSubfolder As Outlook.Folder
Set objUnreadItems = objFolder.Items.Restrict("[Unread] = True")
lCount = objUnreadItems.count + lCount
'Process all subfolders under Inbox recursively
If objFolder.Folders.count > 0 Then
For Each objSubfolder In objFolder.Folders
Call CountUnreadEmails(objSubfolder, lCount)
Next
End If
End Sub
- Después de eso, debes firmar este código.
- Más tarde, salga de la ventana actual y cambie la configuración de las macros de Outlook para habilitar las macros firmadas digitalmente.
- Finalmente, puedes reiniciar Outlook para activar esta nueva macro.
- A partir de ahora, cada vez que inicie Outlook y llegue un nuevo correo electrónico a su bandeja de entrada, Outlook comprobará automáticamente la cantidad de correos electrónicos sin leer en la Bandeja de entrada y sus subcarpetas.
- Si el número excede su límite predefinido, Outlook le advertirá, como en la siguiente captura de pantalla:
Recuperar datos de Outlook después de bloqueos abruptos
Outlook no puede deshacerse de los errores por completo. Y los errores de montaje pueden provocar bloqueos sin ningún aviso. Las fallas graves pueden dañar su archivo de datos de Outlook en un santiamén. Por lo tanto, es necesario que tome las precauciones necesarias, como realizar copias de seguridad periódicas de los datos y hacerse con una potente herramienta de recuperación externa, como DataNumen Outlook Repair. Puede ayudarte a reparar PST archivo con facilidad.
Introducción del autor:
Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo arreglar mdf y productos de software de reparación de Outlook. Para más información visite www.datanumen.com

