「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に登録したり、といったこともできます。


















この記事へのコメントはありません。