ルールで移動したメールの情報をExcelに記録するマクロ


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


いつもお世話になっております。
サブフォルダ(XXXX)の中に新しいメールが届いたとき、自動的にメールタイトル、差出人、タイトル、送信時間をEXCELファイルに記入したいです。

ご検討どうぞよろしくお願い致します。


サブフォルダーの中に新しいメールが届いた時とあるのですが、おそらく自動仕分けによりサブフォルダーに振り分けているのではないかと思います。
その場合、振り分けルールのアクションに「スクリプトを実行する」を追加し、スクリプトとして Excel にメールの情報を保存するマクロを指定すれば、特定のフォルダーに配信されるメールの情報だけを Excel に書き出すことが可能です。

自動仕分けのルールから呼び出せる、Excel にメールの情報を保存するマクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub LogMailToExcel(objMail As MailItem)
    Const EXCEL_FILE = "c:\temp\maillog.xlsx" ‘ 保存するファイル名を指定
    Dim objBook ‘As Excel.Workbook
    Dim r As Integer
    ‘
    Set objBook = GetObject(EXCEL_FILE)
    r = 2
    With objBook.Sheets(1)
        While .Cells(r, 1) <> ""
            r = r + 1
        Wend
        .Cells(r, 1) = objMail.Subject
        .Cells(r, 2) = objMail.SenderName
        .Cells(r, 3) = objMail.SentOn
    End With
    objBook.Windows(1).Activate
    objBook.Close True
End Sub


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

コメントを残す