【OUTLOOK VBA】特定のメールアドレスを受信したら、対象のフォルダパスに存在するVBSスクリプトを編集して、当該VBSスクリプトを実行

以下のコードで可能です。

Option Explicit
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
   Dim objout
   Dim objmail
   Dim myMsg As Object
   Set myMsg = Session.GetItemFromID(EntryIDCollection)
   
   If myMsg.Sender.Address = ※"受信元のメールアドレスを入力"※ Then
       Set objout = CreateObject("outlook.application")
       Set objmail = objout.CreateItem(olMailItem)
       With objmail
       .BodyFormat = 2
       .To = ※"知らせる送信先のメールアドレスを入力"※
       .Subject = "○○さんからメールです。"
       .Send
       End With
       Set objmail = Nothing
       Set objout = Nothing
   
       'メールの受信をトリガーに非同期で処理を実施
       Shell "wscript.exe ""C:\Users\******\Desktop\メール受信で動作するマクロ.vbs"""
   
       Dim vbsfile As String
       vbsfile = "C:\Users\******\ツール\メール報告用メッセージボックス.vbs"
       
       '報告用のVBSのファイルの中身を編集
       Open vbsfile For Output As #1
       Print #1, "msgbox(""" & myMsg.Subject & "-からメールです。確認してください。" & """),vbsystemmodal"
       Close #1
       
       Shell "wscript.exe " & vbsfile & ""
   End If
   
End Sub


この記事が気に入ったらサポートをしてみませんか?