2024年4月29日月曜日

Outlook のマクロでメッセージの一覧を取得する方法

Outlook のマクロでメッセージの一覧を取得する方法

概要

メッセージの件数が長いと Outlook が固まるので注意しましょう

環境

  • Windows 10
  • Outlook 2302 build 16.0

サンプルコード

Option Explicit
Public Sub Outlook_mail_list()
    ' 変数定義
    Dim InboxFolder, i, n, k As Long
    Dim outlookObj As Outlook.Application
    Dim myNameSpace, objmailItem As Object
 
    ' 変数初期化
    Set outlookObj = CreateObject("Outlook.Application")
    Set myNameSpace = outlookObj.GetNamespace("MAPI")
    Set InboxFolder = myNameSpace.GetDefaultFolder(6)
    n = 2
 
    ' 現在のメールの数を取得、数が多い場合はループの数は固定したほうが良い
    Debug.Print InboxFolder.Items.Count
    ' For i = 1 To InboxFolder.Items.Count
    For i = 1 To 100
        Set objmailItem = InboxFolder.Items(i)
 
        ' メールの内容を表示、参照可能なプロパティはこちらを参照 https://learn.microsoft.com/ja-jp/office/vba/api/outlook.mailitem.senderemailaddress
        Debug.Print i
        Debug.Print "SenderEmailAddress: " + objmailItem.SenderEmailAddress
        Debug.Print "To" + objmailItem.To
        ' Stop
        n = n + 1
    Next
 
    ' 変数の削除
    Set outlookObj = Nothing
    Set myNameSpace = Nothing
    Set InboxFolder = Nothing
End Sub

最後に

マクロでメッセージの一覧を取得して見ました
エクセルのマクロでも動作するはずです

参考サイト

0 件のコメント:

コメントを投稿