Outlook macroでメールにアクセスする

効率化
スポンサーリンク

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で各要素を取り出せば、あとは未読にするなり移動するなりコピーするなり。

処理を関数にしておくと、楽かもしれないです。

タイトルとURLをコピーしました