OutlookでInboxのメールにアクセスする最小セットのマクロ。
これを元にして、Inboxのメールの処理をします。
そのままコピペして利用できます。
code
' Outlook Mail inboxにアクセスする最小セットMacro
Sub GetInboxmail()
Dim objOlFolder ' フォルダ情報
Dim objOlItem ' アイテム情報
If Err.Number = 0 Then
Set objOlFolder = Application.Session.GetDefaultFolder(6)
For Each objOlItem In objOlFolder.Items
Debug.Print objOlItem.Subject
Next
Else
WScript.Echo "エラー:" & Err.Description
End If
End Sub
appendix
メール以外のフォルダーから一覧を取得したい
calendar とか task など、違うフォルダーを取得したい場合。
以下のURLを参考にして、GetDefaultFolderの引数の”6″を変更するとOKです。
OlDefaultFolders 列挙 (Outlook)
Office VBA リファレンス トピック
ちなみに、カレンダーから予定を取得する場合、過去の分からごっそり取れます。
取り扱いがめんどくさいので、カレンダーから予定を取得したいときは、以下の記事を参考にしたほうが楽です。
Outlook macroで予定一覧を取得する
目的 Outlookの予定を拾いたいときに、かなりの頻度で出てくるケースを関数にしました。 ユースケース 今日の予定一覧を引っ張る明日の予定一覧を引っ張る (2021/04/22追記)任意のフォルダ/機関のスケジュールを取得するマクロ関数も...
objOlFolder.Items
おまじない。
この中にメール一覧が入ってきます。
For Eachで各要素を取り出せば、あとは未読にするなり移動するなりコピーするなり。
処理を関数にしておくと、楽かもしれないです。