特定のフォルダーにあるメールの添付ファイルの情報を Excel にエクスポートするマクロ


コメントにて以下のご要望をいただきました。


outlookの添付ファイル名前 添付ファイルサイズ 送信者 日時
などをエクセルで出力できるマクロはありますでしょうか。
ExchangeServerのスクリプトを二週間ほど探していたのですが思うような結果が得られず、
  是非ともあなた様にご教授願いたいです。
Outlookは2013以降のバージョンになります。(2016かと思います)


Outlook の添付ファイルの名前やサイズは MailItemAttachments に含まれる Attachment オブジェクトの FileName および Size プロパティとして取得できます。
また、送信者や日時は MailItem 自体の SenderNameReceivedTime プロパティとして取得できます。
マクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます
Public Sub ExportAttachInfoToExcel()
     ' Excel ファイルのファイル名を指定
     Const EXCEL_FILE = "c:\temp\attachinfo.xlsx"
     Dim objBook
     Dim objSheet
     Dim r As Integer
     Dim fldCurrent As Folder
     Dim objMail As MailItem
     Dim objAttach As Attachment
     ' Excel ファイルを開く
     Set objBook = GetObject(EXCEL_FILE)
     objBook.Windows(1).Activate
     Set objSheet = objBook.Sheets(1)
     ' 1 行目はタイトルとして使用し、2 行目からデータ
     r = 2
     ' データがない行まで移動
     While objSheet.Cells(r, 1) <> ""
         r = r + 1
     Wend
     ' 現在表示中のフォルダーを取得
     Set fldCurrent = ActiveExplorer.CurrentFolder
     ' フォルダー内のすべてのアイテムについて処理
     For Each objMail In fldCurrent.Items
         ' アイテムに添付ファイルが存在する場合
         If objMail.Attachments.Count > 0 Then
             ' アイテムの添付ファイルすべてについて処理
             For Each objAttach In objMail.Attachments
                 With objSheet
                     ' 添付ファイル名を A 列にコピー
                     .Cells(r, 1) = objAttach.FileName
                     ' 添付ファイル サイズを B 列にコピー
                     .Cells(r, 2) = objAttach.Size
                     ' 差出人名を C 列にコピー
                     .Cells(r, 3) = objMail.SenderName
                     ' 受信日時を D 列にコピー
                     .Cells(r, 4) = objMail.ReceivedTime
                 End With
                 ' 次の行に移動
                 r = r + 1
             Next
         End If
     Next
     ' Excel ファイルを閉じる
     objBook.Close True
End Sub

マクロの登録方法やメニューへの追加について

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中