www.youtube.com
http://www.youtube.com/watch?v=utXGuzkJ27M
MailItem オブジェクト
http://msdn.microsoft.com/ja-jp/library/cc359390.aspx
↑MSDN
を参考にして、
ソースは → http://ken3-info.blog.ocn.ne.jp/code_gomibako/2009/02/222_excel_vba_o_94b3.html に保存されてます。
Sub OL_TEST_LOOK_MAIL_0221() 'Excel VBA から OutLookを起動して 受信メールを1つ1つ取り出す Dim oApp As Object 'OutlookのApplication オブジェクトを入れる Dim myNameSpace As Object '名前のスペースと言われても、、 Dim myFolder As Object 'フォルダー指定 'outlook 起動をCreateObjectで ※これだと複数起動してしまうがご勘弁を Set oApp = CreateObject("Outlook.Application") '呪文1 名前空間 の 指定 と言っても、.GetNamespace("MAPI")しただけ Set myNameSpace = oApp.GetNamespace("MAPI") '次は作業フォルダーの指定(.GetDefaultFolder) と 表示(.Display) Set myFolder = myNameSpace.GetDefaultFolder(6) '規定のフォルダー olFolderInbox=6 指定 myFolder.Display '表示 いつものクセで .Visible = True とやりがちだけど '次にメールの中身を取り出したいと思います。 Dim objMAILITEM As Object 'メールアイテム Dim n As Integer 'カウンター For n = 1 To myFolder.Items.Count 'フォルダーのアイテム数分ループ 'メールを1通取り出す、変数にセットする Set objMAILITEM = myFolder.Items(n) '別にあらためてセットしなくても使えるけど 'テストデータをセルにセットする※11行目からセットする。。。 Cells(n + 10, "A") = objMAILITEM.CreationTime '作成日 Cells(n + 10, "B") = objMAILITEM.SenderName '差出人 Cells(n + 10, "C") = objMAILITEM.SenderEmailAddress '差出人のアドレス Cells(n + 10, "D") = objMAILITEM.Subject '件名 Cells(n + 10, "E") = objMAILITEM.Body '本文 Next n
End Sub
↑そのまま実行すると、セキュリティのエラーがでるし・・・(涙)
ソースは → http://ken3-info.blog.ocn.ne.jp/code_gomibako/2009/02/222_excel_vba_o_94b3.html に保存されてます。
カテゴリ: 科学と技術