KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Oferta de marzo: 20 % de descuento

¿Cómo añadir correos no leídos a una carpeta favorita en Outlook?

AutoraKelly Fecha de modificación

A veces, los mensajes de correo no leídos pueden permanecer ocultos entre una gran cantidad de correos, aunque Outlook le indique el número de mensajes no leídos —por ejemplo, en la Bandeja de entrada (5)— y no pueda encontrarlos de inmediato. En realidad, puede reunir todos los mensajes de correo no leídos en una carpeta favorita, lo que hará su trabajo más cómodo y rápido.

La siguiente guía le ayudará a reunir todos sus correos no leídos en una carpeta llamada «Correos no leídos» y a añadirla a sus favoritos.

Paso 1: Cambie a la vista Correo haciendo clic en Correo en Navegación.

Paso 2: Cree una nueva carpeta de búsqueda:

  1. En Outlook 2010/2013, haga clic en el botón Nueva carpeta de búsqueda del grupo Nuevo en la pestaña Carpeta.
  2. En Outlook 2007, haga clic en Archivo > Nuevo > Carpeta de búsqueda.

doc-new-search-folder

De hecho, existe un método alternativo para crear una nueva carpeta de búsqueda: haga clic con el botón derecho en Carpeta de búsqueda en Navegación y seleccione Nueva carpeta de búsqueda en el menú contextual.

doc-new-search-folder-2

Y este método está disponible en todas las versiones de Microsoft Outlook 2007, 2010 y 2013.

Paso 2: En el cuadro de diálogo Nueva carpeta de búsqueda, seleccione y resalte el elemento Correos no leídos y haga clic en Aceptar.

doc-unread-favorite-2

Ahora se ha creado una carpeta Correos no leídos que aparece en la Navegación. Todos los mensajes de correo no leídos se recopilan automáticamente en esta carpeta. En cuanto abres un mensaje no leído, desaparece automáticamente de la carpeta Correos no leídos.

Paso 3: Haga clic con el botón derecho en la carpeta Correos no leídos y seleccione Mostrar en Favoritos en el menú contextual.

doc-unread-favorite-3

Ahora la carpeta Correos no leídos se copia y añade a sus favoritos en la parte superior de Navegación.

doc-unread-favorite-4

Consejo: Si desea añadir todos los correos no leídos de todas las cuentas a una carpeta, puede seguir los pasos que se indican a continuación:

1. Pulse las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones. En el panel Proyecto, haga clic en Objetos de Microsoft Outlook > ThisOutlookSession y pegue el código siguiente en la sección derecha.

Public WithEvents OlExplprer As Outlook.Explorer
Public WithEvents OlMailItem As Outlook.MailItem
Dim xSelMail As MailItem

Private Sub Application_NewMail()
   AddAllAccountsUnreadMailsToAFolder
   IniEvent
End Sub

Public Sub Initialize_handler()
    Set OlExplprer = Application.ActiveExplorer
    If OlExplprer.Selection.Count <> 0 Then
        Set OlMailItem = OlExplprer.Selection.Item(1)
    End If
End Sub

Private Sub OlExplprer_BeforeFolderSwitch(ByVal NewFolder As Object, Cancel As Boolean)

Dim xOlApp As Outlook.Application
Dim xNameSpace As NameSpace
Dim xMailItem, xSelMail As MailItem
Dim xTargetFld As Folder

On Error Resume Next

Set xOlApp = Outlook.Application
Set xNameSpace = xOlApp.GetNamespace("MAPI")

If NewFolder.Name = "Unread Mail" Then

    For Each xMailItem In NewFolder.Items
        
        If xMailItem.UnRead = False Then
        
            xMailItem.Delete
        
        End If
    
    Next

Else

    For Each xTargetFld In xNameSpace.Folders.Item(1).Folders

        If xTargetFld.Name = "Unread Mail" Then

            For Each xMailItem In xTargetFld.Items
                
                If (OlExplprer.Selection.Count <> 0) Then
                    
                    Set xSelMail = OlExplprer.Selection.Item(1)
    
                    If xSelMail.UnRead Then

                        xSelMail.UnRead = False
                        
                    End If
                
                End If
            Next
         
        End If
    Next
  
End If
    
Cancel = False

End Sub

Private Sub OlExplprer_FolderSwitch()

Dim xOlApp As Outlook.Application
Dim xNameSpace As NameSpace
Dim xMailItem As MailItem
Dim xAccountFld, xTargetFld, xSubFolder As MAPIFolder
Dim xObjItem As Object

On Error Resume Next
Set xOlApp = Outlook.Application
Set xNameSpace = xOlApp.GetNamespace("MAPI")

Refresh

If (OlExplprer.CurrentFolder.Name <> "Unread Mail") Then

    For Each xTargetFld In xNameSpace.Folders.Item(1).Folders

        If xTargetFld.Name = "Unread Mail" Then

            For Each xMailItem In xTargetFld.Items

                If xMailItem.UnRead = False Then

                    For Each xAccountFld In xNameSpace.Folders

                        For Each xSubFolder In xAccountFld.Folders

                            If (xSubFolder.Name <> "Deleted Items") And (xSubFolder.Name <> "Drafts") And (xSubFolder.Name <> "Outbox") And (xSubFolder.Name <> "Junk E-mail") Then

                                For Each xObjItem In xSubFolder.Items

                                    If xObjItem.Class = olMail Then

                                        If (xObjItem.Subject = xMailItem.Subject) And (xObjItem.SenderName = xMailItem.SenderName) And _
                                           (xObjItem.Body = xMailItem.Body) And (xObjItem.Attachments.Count = xMailItem.Attachments.Count) And _
                                           (xObjItem.SentOn = xMailItem.SentOn) Then
                                                
                                            xObjItem.UnRead = False

                                        End If

                                    End If

                                Next

                            End If

                        Next

                    Next

                End If

            Next

        End If

    Next

End If

End Sub

Private Sub OlExplprer_SelectionChange()

Dim xOlApp As Outlook.Application
Dim xNameSpace As NameSpace

On Error Resume Next
Set xOlApp = Outlook.Application
Set xNameSpace = xOlApp.GetNamespace("MAPI")

If (OlExplprer.CurrentFolder.Name = "Unread Mail") And (OlExplprer.Selection.Count <> 0) Then

    SelUnreadMailFld OlExplprer.CurrentFolder.Items, xNameSpace.Folders

Else

    If (OlExplprer.CurrentFolder.Name <> "Deleted Items") And (OlExplprer.CurrentFolder.Name <> "Drafts") And _
       (OlExplprer.CurrentFolder.Name <> "Outbox") And (OlExplprer.CurrentFolder.Name <> "Junk E-mail") Then
       
       SelOtherFld xNameSpace.Folders.Item(1).Folders
        
    End If

End If

End Sub

Sub SelUnreadMailFld(EMails As Outlook.Items, Flds As Folders)

Dim xMailItem As MailItem
Dim xAccountFld, xSubFolder As Folder
Dim xObjItem As Object
On Error Resume Next
For Each xMailItem In EMails 'OlExplprer.CurrentFolder.Items

    If xMailItem.UnRead = False Then

        For Each xAccountFld In Flds

            For Each xSubFolder In xAccountFld.Folders

                If (xSubFolder.Name <> "Deleted Items") And (xSubFolder.Name <> "Drafts") And (xSubFolder.Name <> "Outbox") And (xSubFolder.Name <> "Junk E-mail") Then

                    For Each xObjItem In xSubFolder.Items

                        If xObjItem.Class = olMail Then

                            If (xObjItem.Subject = xMailItem.Subject) And (xObjItem.SenderName = xMailItem.SenderName) And _
                               (xObjItem.Body = xMailItem.Body) And (xObjItem.Attachments.Count = xMailItem.Attachments.Count) And _
                               (xObjItem.SentOn = xMailItem.SentOn) Then

                                If xObjItem.UnRead Then

                                    xObjItem.UnRead = False

                                End If

                            End If

                        End If

                    Next

                End If

            Next

        Next

    End If

Next

End Sub

Sub SelOtherFld(Flds As Folders)
Dim xSelItem, xMailItem As MailItem
Dim xTargetFld As Folder
    
On Error Resume Next
If OlExplprer.Selection.Count <> 0 Then
      
    Set xSelItem = OlExplprer.Selection.Item(1)

    If xSelItem.UnRead = False Then

        For Each xTargetFld In Flds

            If xTargetFld.Name = "Unread Mail" Then

                For Each xMailItem In xTargetFld.Items

                    If (xSelItem.Subject = xMailItem.Subject) And (xSelItem.SenderName = xMailItem.SenderName) And _
                       (xSelItem.Body = xMailItem.Body) And (xSelItem.Attachments.Count = xMailItem.Attachments.Count) And _
                       (xSelItem.SentOn = xMailItem.SentOn) Then

                        xMailItem.UnRead = False

                    End If

                Next

            End If
        Next

    End If

End If

End Sub


Sub Refresh()
  
Dim xOlApp As Outlook.Application
Dim xNameSpace As NameSpace
Dim xTargetFld As MAPIFolder
Dim xAllUnreadMails As Integer

On Error Resume Next
Set xOlApp = Outlook.Application
Set xNameSpace = xOlApp.GetNamespace("MAPI")

xAllUnreadMails = AllUnreadMails()

For Each xTargetFld In xNameSpace.Folders.Item(1).Folders

    If xTargetFld.Name = "Unread Mail" Then

        If xAllUnreadMails <> xTargetFld.Items.Count Then
            
            AddAllAccountsUnreadMailsToAFolder
            
            Exit For
        
        End If
    
    End If
    
Next

End Sub

Function AllUnreadMails()

Dim xOlApp As Outlook.Application
Dim xNameSpace As NameSpace
Dim xAllUnreadMails As Integer

On Error Resume Next
Set xOlApp = Outlook.Application
Set xNameSpace = xOlApp.GetNamespace("MAPI")

xAllUnreadMails = 0
For Each xFolders In xNameSpace.Folders

   For Each xSubFolder In xFolders.Folders
   
     If xSubFolder.Name <> "Unread Mail" Then
     
     If (xSubFolder.Name <> "Deleted Items") And (xSubFolder.Name <> "Drafts") And (xSubFolder.Name <> "Outbox") And (xSubFolder.Name <> "Junk E-mail") Then

         For Each xObjItem In xSubFolder.Items
    
            If xObjItem.Class = olMail Then
    
               If xObjItem.UnRead Then
               
                 xAllUnreadMails = xAllUnreadMails + 1
    
               End If
    
            End If
         Next
         
        End If
     
     End If

   Next

Next

AllUnreadMails = xAllUnreadMails
End Function
doc todas las noticias en una carpeta 1

 

2. A continuación, inserte un nuevo módulo y pegue el código siguiente en el script del módulo.

Public Sub AddAllAccountsUnreadMailsToAFolder()
Dim xOlApp As Outlook.Application
Dim xNameSpace As NameSpace
Dim xFolders, xSubFolder As MAPIFolder
Dim xObjItem As Object
Dim xDelFld As Folder
Dim xUnreadMailFld, xOldUnreadMailFld As Folder
Dim xCopiedItem, xMailItem As MailItem

On Error Resume Next
Set xOlApp = Outlook.Application
Set xNameSpace = xOlApp.GetNamespace("MAPI")

For Each xOldUnreadMailFld In xNameSpace.Folders.Item(1).Folders
    If xOldUnreadMailFld.Name = "Unread Mail" Then
        xOldUnreadMailFld.Delete
        Exit For
    End If
Next

For Each xDelFld In xNameSpace.Folders.Item(1).Folders
    If xDelFld.Name = "Deleted Items" Then
        For Each xMailItem In xDelFld.Items
            xMailItem.Delete
        Next
        For Each xSubFolder In xDelFld.Folders
        'For i = xDelFld.Folders.Count To 1 Step -1
            xSubFolder.Delete
        Next
    End If
Next

Set xUnreadMailFld = xNameSpace.Folders.Item(1).Folders.Add("Unread Mail")
If xUnreadMailFld = nil Then
    Exit Sub
End If


For Each xFolders In xNameSpace.Folders

   For Each xSubFolder In xFolders.Folders
   
     If xSubFolder.Name <> xUnreadMailFld.Name Then
     
     If (xSubFolder.Name <> "Deleted Items") And (xSubFolder.Name <> "Drafts") And (xSubFolder.Name <> "Outbox") And (xSubFolder.Name <> "Junk E-mail") Then

         For Each xObjItem In xSubFolder.Items
    
            If xObjItem.Class = olMail Then
    
               If xObjItem.UnRead Then
                 
                 Set xCopiedItem = xObjItem.Copy
    
                 xCopiedItem.Move xUnreadMailFld
    
               End If
    
            End If
         Next
         
        End If
     
     End If

   Next

Next

IniEvent

End Sub

Public Sub IniEvent()
Dim xFld As ThisOutlookSession
Set xFld = ThisOutlookSession
xFld.Initialize_handler
End Sub
doc todas las noticias en una carpeta 2

 

3. Ejecute el código denominado AddAllAccountsUnreadMailsToAFolder. Así, todos los correos no leídos se colocarán en una carpeta llamada Correos no leídos.
doc todas las noticias en una carpeta 3

eliminar todos los Contactos duplicados de una o varias Carpetas de contacto en Outlook

A veces, es posible que añadas repetidamente los mismos contactos. ¿Cómo eliminar los contactos duplicados de una o varias carpetas de contactos? La función puede encontrar rápidamente todos los contactos duplicados y permitirte eliminarlos o fusionar sus datos según tus criterios, como buscar contactos duplicados con el mismo nombre completo o la misma dirección de correo electrónico en una o más carpetas de contactos.¡Haga clic para obtener una prueba gratuita de 30 días con todas las funciones!Kutools para OutlookDuplicate Contacts
doc eliminar contactos duplicados
 
Kutools para Outlook: con decenas de complementos útiles para Outlook, pruébelos gratis sin limitaciones durante los próximos 30 días.

Las mejores herramientas de productividad para Office

¡Descubra el nuevo Kutools para Outlook con 100+ funciones increíbles!¡Haga clic para descargar ahora!

🤖KUTOOLS AI:Utiliza tecnología avanzada de IA para gestionar correos electrónicos sin esfuerzo, incluyendo responder, resumir, optimizar, ampliar, traducir y redactar correos.

📧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.

Desbloquee Kutools para Outlook al instante con un solo clic. ¡No espere más: descárguelo ahora y potencie su eficiencia!

kutools for outlook features1kutools for outlook features2

🚀 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