Outlookにて指定されたメールアドレスの受信トレイを取得

指定されたメールアドレスの受信トレイを取得するマクロを以下に示します。

Sub GetInboxByEmailAddress()
    Dim olApp As Outlook.Application
    Dim olNamespace As Outlook.Namespace
    Dim olFolder As Outlook.MAPIFolder
    Dim moveFolderName As String
    
    ' Outlookアプリケーションを取得
    Set olApp = New Outlook.Application
    ' Outlookの受信トレイを取得
    Set olNamespace = olApp.GetNamespace("MAPI")
    
    Dim MailAddress As String
    MailAddress = "ABC@mail.com" ' メールアドレスを適宜変更してください
    On Error Resume Next
    
    ' メールアドレスを指定する場合は、以下を使用
    'Set olFolder = olNamespace.Folders(MailAddress).Folders("受信トレイ")
    
    ' Outlookに登録されているメールアドレスが1つの場合は、以下を使用
    Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox)
    
    On Error GoTo 0
    
    ' エラーチェック
    If olFolder Is Nothing Then
        MsgBox "指定されたメールアドレスの受信トレイが見つかりませんでした。マクロを終了します。", vbExclamation
        End
    End If
    
    ' 受信トレイの処理を行う
    ' ...
    ' ...
    
    ' Outlookの解放
    Set olFolder = Nothing
    Set olNamespace = Nothing
    Set olApp = Nothing
End Sub

このマクロでは、指定されたメールアドレスの受信トレイを取得しています。
「MailAddress」の部分を実際のメールアドレスに適切に変更してください。また、受信トレイの処理部分には、受信トレイのメールを処理するコードを追加してください。

    ' メールアドレスを指定する場合は、以下を使用
    Set olFolder = olNamespace.Folders(MailAddress).Folders("受信トレイ")
    
    ' Outlookに登録されているメールアドレスが1つの場合は、以下を使用
    'Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox)

を以下のように変更すると、Outlookに登録されているメールアドレスが1つの場合に対応します。

    ' メールアドレスを指定する場合は、以下を使用
    'Set olFolder = olNamespace.Folders(MailAddress).Folders("受信トレイ")
    
    ' Outlookに登録されているメールアドレスが1つの場合は、以下を使用
    Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox)

Follow me!