跳到主要內容

如何將未讀郵件添加到Outlook中的“收藏夾”文件夾?

有時,未讀電子郵件可能會留在許多郵件中,儘管Outlook會指示您未讀電子郵件的數量,例如 收件箱(5),您無法一次找到它們。 實際上,您可以將所有未讀的電子郵件收集到一個喜歡的文件夾中,從而使您的工作更加方便快捷。

以下指南將幫助您將所有未讀電子郵件收集到“未讀郵件”文件夾中,並在收藏夾中顯示該文件夾。

第1步:通過點擊轉到郵件視圖 郵件 在導航窗格中。

步驟2:建立新的搜尋資料夾:

  1. 在Outlook 2010/2013中,點擊 新搜尋資料夾 按鈕在 全新 組上 標籤。
  2. 在Outlook 2007中,單擊 文件 > 全新 > 搜索文件夾.

實際上,還有另一種方法可以創建新的搜索文件夾:右鍵單擊 搜索文件夾 在導航窗格中,然後單擊 新搜尋資料夾 在右鍵菜單中。

而且此方法在所有Microsoft Outlook 2007、2010和2013中都可用。

步驟2:在“新建搜索文件夾”對話框中,選擇並突出顯示 未讀郵件 項目,然後單擊 OK.

現在一個 未讀郵件 文件夾已創建,並顯示在導航窗格中。 並且所有未讀的電子郵件會自動收集到此文件夾中。 打開未讀電子郵件後,它將自動從“未讀郵件”文件夾中刪除。

步驟3:右鍵點擊 未讀郵件 文件夾,然後單擊 在收藏夾中顯示 右鍵菜單中的項目。

現在,“未讀郵件”文件夾已復制並添加到導航窗格頂部的收藏夾中。

尖端:如果要將所有帳戶的所有未讀電子郵件添加到文件夾,可以執行以下步驟:

1。 按 Alt + F11鍵 啟用 Microsoft Visual Basic for Applications 窗口。 而在工程 窗格中單擊 Microsoft Outlook對象 > 本次展望會議,然後將以下代碼粘貼到右側部分。

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
將所有新聞記錄在一個文件夾中1

 

2.然後插入一個新的模塊,並將以下代碼粘貼到模塊腳本中。

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
將所有新聞記錄在一個文件夾中2

 

3.運行名為 AddAllAccountsUnreadMailsToA文件夾。 然後將所有未讀的電子郵件放入一個名為 未讀郵件.
將所有新聞記錄在一個文件夾中3

從Outlook中的一個或多個聯繫人文件夾中刪除所有重複的聯繫人

有時,我們可能會重複添加相同的聯繫人,如何從一個或多個聯繫人文件夾中刪除重複的聯繫人? Kutools for Outlook's Duplicate Contacts 功能可以快速查找所有重複的聯繫人,並允許您根據給定的條件刪除或合併重複的聯繫人,例如從一個或多個聯繫人文件夾中查找具有相同全名,相同電子郵件地址的重複聯繫人。    點擊獲取 60 天全功能 60 免費試用!
doc刪除重複的內容
 
Kutools for Outlook:擁有數十個方便的 Outlook 插件,在未來 60 天內免費試用,沒有任何限制。

最佳辦公生產力工具

Kutools for Outlook - 超過 100 種強大的功能可增強您的 Outlook

🤖 人工智慧郵件助手: 具備人工智慧魔力的即時專業電子郵件——一鍵天才回覆、完美語調、多語言掌握。輕鬆改變電子郵件! ……

📧 電子郵件自動化: 外出(適用於 POP 和 IMAP)  /  安排發送電子郵件  /  發送電子郵件時按規則自動抄送/密件副本  /  自動轉送(進階規則)   /  自動添加問候語   /  自動將多收件者電子郵件拆分為單獨的訊息 ...

📨 電子郵件管理: 輕鬆回憶電子郵件  /  按主題和其他人阻止詐騙電子郵件  /  刪除重複的電子郵件  /  進階搜索  /  合併資料夾 ...

📁 附件專業版批量保存  /  批量分離  /  批量壓縮  /  自動保存   /  自動分離  /  自動壓縮 ...

🌟 介面魔法: 😊更多又漂亮又酷的表情符號   /  使用選項卡式視圖提高 Outlook 工作效率  /  最小化 Outlook 而不是關閉 ...

👍 一鍵奇蹟: 使用傳入附件回覆全部  /   反網路釣魚電子郵件  /  🕘顯示寄件者的時區 ...

👩🏼‍🤝‍👩🏻 通訊錄和行事曆: 從選定的電子郵件中大量新增聯絡人  /  將聯絡人群組拆分為各組  /  刪除生日提醒 ...

超過 100特點 等待您的探索! 按此處了解更多。

閱讀更多       免費下載      購買
 

 

Comments (31)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
süpersiniz
This comment was minimized by the moderator on the site
So clearly explained, so simple, so straightforward.  Utterly brilliant.  Thank you :)
This comment was minimized by the moderator on the site
Very helpful. I have had this issue since last 4 months. It's resolved now. TQVM
This comment was minimized by the moderator on the site
I am having a slightly different problem. I have the Unread Mail Folder working okay, but it is not picking up all of my unread messages from emails accounts I just set up in Outlook 2010. Is there a way to add these new email addresses so that the unread mail goes into the Unread Mail folder? Gratefully, Mike .
This comment was minimized by the moderator on the site
Mike. Did you find a resolution for this? I have multiple outlook accounts and would like all my unread messages go to one folder. Rgds Tom
This comment was minimized by the moderator on the site
Hello, see your questions, I have updated the article, now here are some codes can create a folder to put all unread emails of all accounts. You can come and have a look.
This comment was minimized by the moderator on the site
I tried doing this, but the code crashed outlook for me.
This comment was minimized by the moderator on the site
I have tried times, some times it cannot work, but never crashed outlook, sorry I cannot help you.
This comment was minimized by the moderator on the site
nice, l look for long time
This comment was minimized by the moderator on the site
I hope I get to reed my unred files
This comment was minimized by the moderator on the site
This does not work in 2010 -
This comment was minimized by the moderator on the site
thanks ! it;s working now :-)
This comment was minimized by the moderator on the site
Super helpful, thank you
This comment was minimized by the moderator on the site
Worked like a charm! Thanks a bunch.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations