「Outlook 未読 件数 マクロ」といったキーワード検索でのアクセスがありました。Outlookのマクロで、未読アイテムの件数を調べたい方からのアクセスだと思います。
下記記事でも書いていますが、OutlookのFolderオブジェクトには、そのものずばりなUnReadItemCountプロパティが用意されているので、こちらを使えば一発で未読アイテムの件数を取得することができます(下記コードでは受信トレイフォルダー(olFolderInbox)を指定しています)。
Public Sub Sample001() MsgBox "未読アイテム数:" & Application.GetNamespace("MAPI") _ .GetDefaultFolder(olFolderInbox) _ .UnReadItemCount, vbInformation + vbSystemModal End Sub
もし、個々の未読アイテムに対して何らかの処理を実行したい場合は、UnReadプロパティを使うことで、未読か既読かを判別することができます。
例えば未読メールに対してのみ処理を行う場合は、下記のようなコードになります。
Public Sub Sample002() Dim itm As Object With Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox) For Each itm In .Items Select Case LCase(TypeName(itm)) Case "mailitem" 'MailItemのみ処理 '未読メールのみ処理 If itm.UnRead = True Then Debug.Print itm.Subject End If End Select Next End With End Sub
この記事へのコメントはありません。