029 エクセルVBAで「返信した時間」をリスト化

こんにちは、くのへ@MasazaneKunoheです。

こんなツイート見かけました。

かおてっくさんのツイートは何としてもやらなきゃ!!(無惨様の部下より)

「返信した時間」

メールを返信や転送をすると、元のメールにこんなメッセージが出ます。

今回は、このような「返信」・「転送」されたメッセージを抽出し、それを時間とともにリスト化するマクロを作ります。

ちなみに、もともとのご相談は「返信を抽出したい」、ということだったのですが、今回のマクロは「返信」「転送」関係なく抽出してしまいます。
「返信」だけにする場合はもうちょっと改造が必要です。

よろしい、では実装だ!

エクセルでOutlookの参照設定を行った上で、次のコードをエクセルVBAに記述します。参照設定方法はこちらを参照

↓コピペで動くと思います

Sub 返信転送日チェッカー()

'参照設定を行い、OutlookApplicationインスタンスを作成
  Dim appOL As Outlook.Application
  Set appOL = New Outlook.Application

'受信トレイのメールをすべて抽出
  Dim objItems As Object
  Set objItems = appOL.GetNamespace("MAPI").GetDefaultFolder(6).Items
  
  Dim i As Integer: i = 2

  Dim objMailItem As Object
  
  For Each objMailItem In objItems
  
    With objMailItem
      If .LastModificationTime <> .ReceivedTime Then
        Cells(i, 1).Value = .ReceivedTime
        Cells(i, 2).Value = .Subject
        Cells(i, 3).Value = .SenderName
        Cells(i, 4).Value = .LastModificationTime
        
        i = i + 1
      End If
    End With
  
  Next objMailItem
  
End Sub

エクセルの方はこうやって準備します

使ってみるとこうなります

受信トレイにあるメールすべてに対して、だ―――っと処理が行われ、返信or転送したメールを抽出し、A~C列にメール情報が、D列に返信した日時が、それぞれ記載されます。


解説はまた今度~。
ではまた別の記事で~
🦅バサバサ~

くのへスタジオはこちら。
Outlook-VBAコーナーはこちら。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です