Hillbook score 8
2018/10/18 19:28 投稿
Excel+Outlookで受信メールのリスト作成。添付ファイル名が取得できない |
受信しているメールの情報をリスト化して統計化しようとしています。 |
環境はWin7 32bit + Office2010、Excel2010/Outlook2010利用になります。 |
件名、送信日、送信者、宛先、CC、本文、添付ファイル名を取得し |
シートに貼ってリスト化したいです。 |
添付ファイル名以外はうまくいっています。 |
添付ファイル名をどう取得すればよいか、 |
お力をお貸しください。。。 |
色々調べましたが、「ファイルの保存」はサンプルがあるものの |
ファイル名の保存が見つかりません。 |
```ExcelVBA |
Sub |
Sub メール抽出() |
Dim oApp As Object |
Dim myNameSpace As Object |
Dim myFolder As Object |
Dim Fname As String |
Application.ScreenUpdating = False '画面更新停止 |
Application.Calculation = xlCalculationManual '自動計算を手動に変更 |
ThisWorkbook.Worksheets("MAIL").Cells.Clear |
Fname = Worksheets("説明操作").Range("B17") |
Set oApp = CreateObject("Outlook.Application") 'outlook 起動 |
Set myNameSpace = oApp.GetNamespace("MAPI") |
Set myFolder = myNameSpace.GetDefaultFolder(6).Folders(Fname) 'メール作業フォルダ指定 |
'myFolder.Display |
Dim objMAILITEM As Object 'メールアイテム |
Dim n As Integer 'カウンター |
Dim strlen As Long |
Dim objAttach As Attachment |
Dim strAtt As String |
strlen = Worksheets("説明操作").Range("B18") |
For n = 1 To myFolder.Items.Count 'フォルダのアイテム数分ループ |
'メールを1通取り出す、変数にセット |
ThisWorkbook.Worksheets("MAIL").Cells(n, "A") = objMAILITEM.Subject '件名 |
' ThisWorkbook.Worksheets("MAIL").Cells(n, "B") = objMAILITEM.Attatch.Filename '添付ファイル名,取れない |
ThisWorkbook.Worksheets("MAIL").Cells(n, "C") = objMAILITEM.receivedTime '作成日 |
ThisWorkbook.Worksheets("MAIL").Cells(n, "D") = objMAILITEM.SenderName '送信者 |
ThisWorkbook.Worksheets("MAIL").Cells(n, "E") = objMAILITEM.SenderEmailAddress '送信者add |
ThisWorkbook.Worksheets("MAIL").Cells(n, "F") = objMAILITEM.TO '宛先 |
ThisWorkbook.Worksheets("MAIL").Cells(n, "G") = objMAILITEM.CC 'CC |
ThisWorkbook.Worksheets("MAIL").Cells(n, "H") = Left(objMAILITEM.Body, strlen) '本文 |
Next n |
'念の為受信日時で並べ替え |
ThisWorkbook.Worksheets("MAIL").Select |
Range("A:H").Sort _ |
Key1:=Range("A1"), _ |
Order1:=2, _ |
Header:=xlNo |
Worksheets("使い方").Select |
Application.ScreenUpdating = True '画面更新 |
'Application.Calculation = xlCalculationAutomatic '手動計算を自動に変更 |
MsgBox "メール抽出完了です", vbInformation, " |
MsgBox "メール抽出完了です", vbInformation, "メール抽出" |
End Sub |
``` |
Hillbook score 8
2018/10/18 17:50 投稿
Excel+Outlookで |
Excel+Outlookで受信メールのリスト作成。添付ファイル名が取得できない |
受信しているメールの情報をリスト化して統計化しようとしています。 |
環境はWin7 32bit + Office2010、Excel2010/Outlook2010利用になります。 |
件名、送信日、送信者、宛先、CC、本文、添付ファイル名を取得し |
シートに貼ってリスト化したいです。 |
添付ファイル名以外はうまくいっています。 |
添付ファイル名をどう取得すればよいか、 |
お力をお貸しください。。。 |
色々調べましたが、「ファイルの保存」はサンプルがあるものの |
ファイル名の保存が見つかりません。 |
```ExcelVBA |
Sub 帳票メール抽出() |
Dim oApp As Object |
Dim myNameSpace As Object |
Dim myFolder As Object |
Dim Fname As String |
Application.ScreenUpdating = False '画面更新停止 |
Application.Calculation = xlCalculationManual '自動計算を手動に変更 |
ThisWorkbook.Worksheets("MAIL").Cells.Clear |
Fname = Worksheets("説明操作").Range("B17") |
Set oApp = CreateObject("Outlook.Application") 'outlook 起動 |
Set myNameSpace = oApp.GetNamespace("MAPI") |
Set myFolder = myNameSpace.GetDefaultFolder(6).Folders(Fname) 'メール作業フォルダ指定 |
'myFolder.Display |
Dim objMAILITEM As Object 'メールアイテム |
Dim n As Integer 'カウンター |
Dim strlen As Long |
Dim objAttach As Attachment |
Dim strAtt As String |
strlen = Worksheets("説明操作").Range("B18") |
For n = 1 To myFolder.Items.Count 'フォルダのアイテム数分ループ |
'メールを1通取り出す、変数にセット |
ThisWorkbook.Worksheets("MAIL").Cells(n, "A") = objMAILITEM.Subject '件名 |
' ThisWorkbook.Worksheets("MAIL").Cells(n, "B") = objMAILITEM.Attatch.Filename '添付ファイル名,取れない |
ThisWorkbook.Worksheets("MAIL").Cells(n, "C") = objMAILITEM.receivedTime '作成日 |
ThisWorkbook.Worksheets("MAIL").Cells(n, "D") = objMAILITEM.SenderName '送信者 |
ThisWorkbook.Worksheets("MAIL").Cells(n, "E") = objMAILITEM.SenderEmailAddress '送信者add |
ThisWorkbook.Worksheets("MAIL").Cells(n, "F") = objMAILITEM.TO '宛先 |
ThisWorkbook.Worksheets("MAIL").Cells(n, "G") = objMAILITEM.CC 'CC |
ThisWorkbook.Worksheets("MAIL").Cells(n, "H") = Left(objMAILITEM.Body, strlen) '本文 |
Next n |
'念の為受信日時で並べ替え |
ThisWorkbook.Worksheets("MAIL").Select |
Range("A:H").Sort _ |
Key1:=Range("A1"), _ |
Order1:=2, _ |
Header:=xlNo |
Worksheets("使い方").Select |
Application.ScreenUpdating = True '画面更新 |
'Application.Calculation = xlCalculationAutomatic '手動計算を自動に変更 |
MsgBox "メール抽出完了です", vbInformation, "帳票メール抽出" |
End Sub |
``` |