2013/11/26

Outlook メール受信時に自動処理したい



こんにちは!自動処理大好きなtknriaです!

特に、メールを受信したときに決まった処理をしたいっていうことが多いです。


例えば、

・注文メールが届いたら、在庫管理担当者と発送担当者に転送する

・特定の取引先からのメールは全て、関係者各位に展開する

・スケジュール依頼メールが届いたら、スケジュール管理表を更新する

などですね。


これらをOutlook(読み:アウトルック)で実装するためには、まず受信したときにそれを検知する必要があります。

今回はそのためのVBAコードをご紹介します。



メール受信時に自動処理!


' ----- 以下、ソース -----

Public Sub ApplicationNewMail(ByVal EntryIDCollection As String)
    Dim objItem
    Set objItem = Session.GetItemFromID(EntryIDCollection)
    If TypeName(objItem) = "MailItem" Then
        ' ここに、メールを受信したときに行いたい処理を記載
       MsgBox (objItem.Subject)
    End If
End Sub

' ----- 以上、ソース -----



今回は、受信したメールの件名を表示させるだけの処理ですが、この部分に行いたい処理を記述すればOKです。



億劫なあとがき


今後、「メールを受信したときにこういう処理をする!」といったVBAコードもつくってみます。

乞うご期待!