Outlook からメールヘッダの情報を収集する(2)

Header に入っている文字列を改行コードで分けて、X-Mailerではじまるものだけを抜き出す方法は意外と簡単だった。
split 関数を使えば、簡単に配列に代入できる。
UBound 関数を使えば、代入した配列の最大値を簡単に取得できる。

' Header 変数の中身を改行を区切りとして分解し Headers(n) 配列に突っ込む
Headers = Split(Header, vbCrLf)

'XMail 変数の掃除
XMail = ""
        
'配列をひとつずつチェック
For k = 0 To UBound(Headers)
    '行頭に X-Mailer という文字列があれば、XMail変数に値を代入
    If LCase(Left(Headers(k), 8)) = LCase("X-Mailer") Then
        XMail = Headers(k)
    End If
Next k

'EXCELで値をセットする行をひとつ下に移動
i = i + 1

'シートに貼り付ける。X-Mail以外の送信者に関する属性も一緒に取得
oNewWb.sheets(1).Cells(i, 1).Value = XMail
oNewWb.sheets(1).Cells(i, 2).Value = lSenderName
oNewWb.sheets(1).Cells(i, 3).Value = lsenderemailaddress

以下略

これをピボットテーブルで分析すれば、比較的簡単にヘッダ情報を抜き出せる。
これをもとに作ったパターンファイルを使って、一日100万件くらいのメールの分析をしてみよう。