excel シートに 一覧取得
数行で止めて確認してください
win10、office365
1
2Public Sub 受信メール()
3
4'画面更新停止
5 Application.ScreenUpdating = False
6
7' 定義
8 Dim objOL As Object
9 Dim sht As Worksheet
10 Dim rowCnt As Long
11
12' 「Outlookから取得する」をobjOLと命名
13 Set objOL = CreateObject("Outlook.Application")
14
15' 読み込むシート(シート名リスト)をshtと命名
16 Set sht = Worksheets("Sheet3") ' シート名
17
18' A列一番下のセルをrowCntと命名
19 rowCnt = Cells(Rows.Count, "A").End(xlUp).Row
20
21' Outlookの受信ボックスのメールを最終行の1行下に取得・件数分繰り返す
22 For Each itms In objOL.GetNamespace("MAPI").GetDefaultFolder(6).Items ' olFolderInbox:6
23
24 If itms.Class = 43 Then ' olMail:43
25 sht.Cells(rowCnt + 1, 1).Value = itms.ReceivedTime ' A列・受信日時
26 sht.Cells(rowCnt + 1, 2).Value = itms.SenderName ' B列・差出人
27 sht.Cells(rowCnt + 1, 3).Value = itms.SenderEmailAddress ' C列・差出人アドレス
28 sht.Cells(rowCnt + 1, 4).Value = itms.CC ' D列・CC
29 sht.Cells(rowCnt + 1, 5).Value = itms.Subject ' E列・件名
30 sht.Cells(rowCnt + 1, 6).Value = itms.Body ' F列・本文
31
32 ' ---PropertyAccessor クラスのインスタンスを取得します。
33 PropName = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"
34 Set oPA = itms.PropertyAccessor
35 sht.Cells(rowCnt + 1, 7).Value = oPA.GetProperty(PropName) 'G列・ヘッダー
36 rowCnt = Cells(Rows.Count, "A").End(xlUp).Row
37
38 End If
39
40 Next
41
42 Set objOL = Nothing
43
44 Range("A1").Select
45
46' 画面更新停止を解除
47 Application.ScreenUpdating = True
48
49' 終了メッセージ
50 MsgBox "終了しました。"
51
52End Sub
53