KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como adicionar mensagens não lidas à pasta Favoritos no Outlook?

AutoraKelly Data de Modificação

Por vezes, as mensagens de correio eletrónico não lidas podem permanecer dispersas por várias pastas, mesmo quando o Outlook indica o número total de mensagens não lidas — como, por exemplo, na Caixa de Entrada (5) — sem que as consiga localizar imediatamente. Na realidade, pode reunir todas as mensagens não lidas numa pasta favorita, tornando o seu trabalho mais conveniente e rápido.

A orientação seguinte ajudá-lo-á a reunir todas as mensagens de correio eletrónico não lidas numa pasta «Correio Não Lido» e a exibir essa pasta nos seus favoritos.

Passo 1: Mude para a vista Correio clicando em Correio na Navegação.

Passo 2: Crie uma nova pasta de pesquisa:

  1. No Outlook 2010/2013, clique no botão Nova Pasta de Pesquisa no grupo Novo no separador Pasta.
  2. No Outlook 2007, clique em Ficheiro > Novo > Pasta de Pesquisa.

doc-new-search-folder

Na realidade, existe um método alternativo para criar uma nova pasta de pesquisa: clique com o botão direito do rato na Pasta de Pesquisa na Navegação e selecione Nova Pasta de Pesquisa no menu de contexto.

doc-new-search-folder-2

E este método está disponível em todas as versões do Microsoft Outlook 2007, 2010 e 2013.

Passo 2: Na caixa de diálogo Nova Pasta de Pesquisa, selecione e destaque o item Correio não lido e clique em OK.

doc-unread-favorite-2

Agora, uma pasta Correio Não Lido é criada e apresentada na Navegação. Todas as mensagens de correio eletrónico não lidas são automaticamente reunidas nesta pasta. Assim que uma mensagem não lida for aberta, é automaticamente removida da pasta Correio Não Lido.

Passo 3: Clique com o botão direito do rato na pasta Correio Não Lido e selecione Mostrar nos Favoritos no menu de contexto.

doc-unread-favorite-3

Agora, a pasta Correio Não Lido é copiada e adicionada aos seus favoritos na parte superior da Navegação.

doc-unread-favorite-4

Dica: Se pretender adicionar todos os e-mails não lidos de todas as contas a uma pasta, siga os passos abaixo:

1. Prima as teclas Alt + F11 para abrir a janela Microsoft Visual Basic para Aplicações. No painel Projeto, clique em Objetos do Microsoft Outlook > ThisOutlookSession e cole o código abaixo na secção à direita.

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 as notícias numa pasta 1

 

2. Em seguida, insira um novo módulo e cole o código abaixo no respetivo script.

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 as notícias numa pasta 2

 

3. Execute o código denominado AddAllAccountsUnreadMailsToAFolder. Assim, todas as mensagens não lidas serão automaticamente reunidas numa pasta chamada Correio Não Lido.
doc todas as notícias numa pasta 3

remover todos os Contatos duplicados de uma ou várias Pastas de contatos no Outlook

Por vezes, acabamos por adicionar repetidamente os mesmos contactos. Como remover contactos duplicados de uma ou várias pastas de contactos? A função localiza rapidamente todos os contactos duplicados e permite-lhe removê-los ou unir os dados dos contactos duplicados com base nos critérios que indicar — como, por exemplo, encontrar contactos duplicados com o mesmo nome completo ou o mesmo endereço de e-mail em uma ou mais pastas de contactos.Clique para obter uma avaliação gratuita de 30 dias com todas as funcionalidades!Kutools para Outlook's Duplicate Contacts
doc remover contactos duplicados
 
Kutools para Outlook: com dezenas de extras práticos para o Outlook, grátis para experimentar sem limitações durante os próximos 30 dias.

Melhores Ferramentas de Produtividade para o Office

Experimente o totalmente novo Kutools para Outlook com 100+ funcionalidades incríveis!Clique para transferir já!

🤖KUTOOLS AI:Utiliza tecnologia avançada de IA para gerir e-mails sem esforço, incluindo responder, resumir, otimizar, alongar, traduzir e redigir mensagens.

📧Automação de E-mails: Resposta Automática (disponível para POP e IMAP) / Agendar Envio de E-mails / CC/BCC Automático por Regras ao Enviar E-mail / Encaminhamento Automático (regra avançada) / Adicionar Saudação Automaticamente / Dividir Automaticamente E-mails com Múltiplos Destinatários em Mensagens Individuais...

📨Gestão de E-mails: Recallar e-mail / Bloquear e-mails fraudulentos por assunto e outros critérios / Eliminar e-mails duplicados / Pesquisa avançada / Organizar pastas...

📁Anexos Pro: Guardar em Lote / Desanexar em Lote / Comprimir em Lote / Salvar Automaticamente / Desanexar Automaticamente / Auto Comprimir...

🌟Magia da Interface: 😊 Mais Emojis Bonitos e Divertidos / Avisa-o quando chegam e-mails importantes / Minimizar o Outlook em vez de fechá-lo...

👍Maravilhas com um Clique: Responder a Todos com Anexos / E-mails Anti-Phishing / 🕘 Mostrar Fuso Horário – Hora Atual do Remetente...

👩🏼‍🤝‍👩🏻Contactos e Calendário: Criar contactos em lote a partir de e-mails selecionados / Dividir um grupo de contactos em grupos individuais / Remover lembrete de aniversário...

Utilize o Kutools no seu idioma preferido – com suporte para inglês, espanhol, alemão, francês, chinês e mais de 40 idiomas!

Desbloqueie instantaneamente o Kutools para Outlook com um único clique! Não espere mais — transfira já e aumente a sua eficiência!

kutools for outlook features1kutools for outlook features2

🚀 Transferência com um Clique — Obtenha Todos os Extras do Office

Altamente Recomendado: Kutools for Office (5 em 1)

Um clique para transferir cinco instaladoresde uma só vez —Kutools para Excel, Outlook, Word, PowerPointe Office Tab Pro.Clique para transferir já!

  • Conveniência com um clique: Transfira os cinco pacotes de instalação numa única ação.
  • 🚀Pronto para qualquer tarefa no Office: instale os extras que precisa, exatamente quando os precisar.
  • 🧰Incluídos: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint