メインコンテンツへスキップ

Outlookで未読メールをお気に入りフォルダーに追加するにはどうすればよいですか?

Author: Kelly Last Modified: 2025-05-23

未読のメールが多数のメッセージの中に残っている場合があります。Outlookでは未読メールの数(例:受信トレイ (5))が表示されますが、すぐにそれを見つけることができません。実際には、すべての未読メールを一つのお気に入りフォルダーに集めることで、作業を便利かつ迅速に行うことができます。

次の手順では、すべての未読メールを「未読メール」フォルダーに収集し、そのフォルダーをお気に入りに表示する方法を説明します。

ステップ 1: ナビゲーションペインの「メール」 をクリックして、メールビューに切り替えます。

ステップ 2: 新しい検索フォルダーを作成します。

  1. Outlook 2010 / 2013では、フォルダタブの新規グループにある「新しい検索フォルダー」ボタンをクリックします。
  2. Outlook 2007では、「ファイル」→「新規」→「検索フォルダー」をクリックします。

doc-new-search-folder

新しい検索フォルダーを作成する別の方法もあります。ナビゲーションペインの「検索フォルダー」 を右クリックし、右クリックメニューから「新しい検索フォルダー」を選択します。

doc-new-search-folder-2

この方法は、Microsoft Outlook 2007、2010、および2013のすべてで使用できます。

ステップ 2: 「新しい検索フォルダー」ダイアログボックスで、「未読メール」アイテムを選択してハイライトし、「OK」をクリックします。

doc-unread-favorite-2

これで、「未読メール」フォルダーが作成され、ナビゲーションペインに表示されます。また、すべての未読メールがこのフォルダーに自動的に収集されます。未読メールが開かれた場合、それは「未読メール」フォルダーから自動的に削除されます。

ステップ 3: 「未読メール」フォルダーを右クリックし、右クリックメニューから「お気に入りに表示」を選択します。

doc-unread-favorite-3

これで、「未読メール」フォルダーがコピーされ、ナビゲーションペインの上部にあるお気に入りに追加されました。

doc-unread-favorite-4

ヒント: すべてのアカウントの未読メールを1つのフォルダーに追加したい場合は、以下の手順を実行してください。

1. Alt + F11キーを押して Microsoft Visual Basic for Applicationsウィンドウを有効にします。プロジェクトペインで「Microsoft Outlook Objects」→「ThisOoutlookSession」をクリックし、以下のコードを右側のセクションに貼り付けます。

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 all news in a folder 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
doc all news in a folder 2

 

3. 次のコード名を実行します。 AddAllAccountsUnreadMailsToAFolderすると、すべての未読メールが「未読メール」というフォルダーに格納されます。 未読メール.
doc all news in a folder 3

Outlookの1つまたは複数の連絡先フォルダから重複する連絡先をすべて削除する

時々、同じ連絡先を何度も追加してしまうことがあります。その場合、1つまたは複数の連絡先フォルダから重複する連絡先をどのように削除すればよいでしょうか?Kutools for Outlook「重複する連絡先」 機能を使用すると、すべての重複する連絡先を迅速に見つけ、指定された基準に基づいて重複する連絡先を削除したりマージしたりできます。たとえば、フルネームが同じ、または1つ以上の連絡先フォルダからメールアドレスが同じ連絡先を見つけられます。30日間の全機能無料体験版を今すぐお試しください!
doc remove duplicate contatcs
 
Kutools for Outlook: 便利なOutlookアドインが数十種類含まれており、30日間は制限なく無料でお試しいただけます。

最高のオフィス生産性ツール

速報: Kutools for Outlook が無料版をリリース!

新しい Kutools for Outlook の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!

🤖 Kutools AI : 高度なAI技術を使用して、メールの返信、要約、最適化、拡張、翻訳、作成を簡単に行います。

📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...

📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...

📁 添付ファイルプロ: バッチ保存 / バッチ切り離し / バッチ圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮...

🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...

👍 ワンクリックの驚き: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーンを表示...

👩🏼‍🤝‍👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除...

Kutools for Outlook をワンクリックで即座にアンロック。待たずに今すぐダウンロードして効率を高めましょう!

kutools for outlook features1 kutools for outlook features2