「Outlook VBA 自動返信」といったキーワード検索でのアクセスがあったので、ApplicationオブジェクトのNewMailExイベントを使った簡単な処理を考えてみました。
※ 下記コードは「ThisOutlookSession」に記述
Option Explicit Private Sub Application_NewMailEx(ByVal EntryIDCollection As String) Dim itm As Object Dim msg As String Set itm = Application.Session.GetItemFromID(EntryIDCollection) If LCase(TypeName(itm)) = "mailitem" Then With itm.ReplyAll msg = itm.SenderName & "( " & itm.SenderEmailAddress & " )様" & vbCrLf & vbCrLf & _ "ご連絡いただきありがとうございました。" & vbCrLf & _ "受付登録完了いたしました。" & vbCrLf & vbCrLf & _ "--------------------" & vbCrLf & .Body .Body = msg .Send End With End If End Sub
大抵のサーバーにはVacation(AutoReply)機能がありますし、Outlookでも標準機能で対応できるため、中々マクロを使う機会は無いかもしれませんが、マクロだと自由度は高いので、たとえばメール受信時に添付ファイルを印刷したり、メール内容を自動的にDBに登録したり、といったこともできます。
この記事へのコメントはありません。