実現したいことは、「特定の件名&特定のアドレスからメールを受信した時、指定した転送先に自動転送する」です(例:aiueo@outlook.jpから「定期だより」という文言が件名に入ったメールを受信した際、kakikukeko@outlook.jpに自動転送)。
現状、「特定の件名からメールを受信した時、指定した転送先に自動転送する」は作成できました(下記コード)。
Option Explicit
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim objId As Object
Dim myNamespace As Outlook.NameSpace
Set myNamespace = GetNamespace("MAPI")
Set objId = myNamespace.GetItemFromID(EntryIDCollection)
Const fw_scrp = "自動転送しています。"
If InStr(objId.Subject, "FW") Then End End If If InStr(objId.Subject, "開封") Then End End If If InStr(objId.Subject, "定期だより") Then '" "特定したい件名① Dim fwMail As MailItem Set fwMail = objId.Forward Dim Rec As Recipient Set Rec = fwMail.Recipients.Add("kakikukeko@outlook.jp") '" "転送先 Rec.Type = olTo Rec.Resolve fwMail.Body = vbCrLf & vbCrLf & fwMail.Body fwMail.Send ElseIf InStr(objId.Subject, "定期便り") Then '" "特定したい件名② Set fwMail = objId.Forward Set Rec = fwMail.Recipients.Add("kakikukeko@outlook.jp") '" "転送先 Rec.Type = olTo Rec.Resolve fwMail.Body = fw_scrp & vbCrLf & vbCrLf & fwMail.Body fwMail.Send End If
End Sub
つまずいている部分は、
①「特定のアドレスからメールを受信した時」といった設定が出来ない
②転送先を複数アドレス設定出来ない(;や:等で区切ってみたがNG…)
です。vba初学者のため、ネット検索から始まり色々と調べて見ましたが、中々うまくいきません。皆さま、何卒お知恵を貸して頂けたら助かります!
また、コードが簡素化されてない?余計なコードが多い?部分がもしありましたらご了承ください。。。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/10 11:22
2022/04/11 00:34
2022/04/11 10:08