Outlookには多くのメールボックスがあり、デフォルト以外のメールボックス([email protected])のいずれかで受信メールを処理するために次のコードを設定しています。VBAデフォルト以外のメールボックスでのメールへの返信
このボックスに到着したすべてのメールを処理し、コンテンツに対してアクションを実行してから、そのメールに返信します。
問題は、ReplyAllは送信者ではなく受信者([email protected])としてのみメールボックスを含むことです。その結果、送信者は応答を得られませんが、ボックスはループ内で単独で送受信を続けます。元の人に複数の人がいる場合は、メールのコピーを取得しますが、送信者は取得しません。
ReplyAllを使用している場合、メールボックス自体ではなく受信者として送信者を正しく識別できるようにするにはどうすればよいですか? 洞察力がありがとう!送信者を確保するため
Option Explicit
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olNs As Outlook.NameSpace
Dim Inbox As Outlook.MAPIFolder
Dim olRecip As Recipient
Set olNs = Application.GetNamespace("MAPI")
Set olRecip = olNs.CreateRecipient("[email protected]") '// Owner's Name or email address
Set Inbox = olNs.GetSharedDefaultFolder(olRecip, olFolderInbox)
Set Items = Inbox.Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
If TypeOf Item Is Outlook.MailItem Then
Debug.Print Item.Subject
Dim myReply As Outlook.MailItem
Set myReply = Item.ReplyAll
myReply.htmlbody = "Replied At: "& Now()
myReply.SentOnBehalfOfName = "[email protected]"
myReply.Send
End If
End Sub
あなたはまだ問題 – 0m3r
おかげOm3rを持つ場合は知っている、私はそれが(他の無限ループ)の受信者だった場合、私はボックス自体を削除したところ、以下の先端に続き、item.SendEmailAddressを追加してみましょうお試しくださいそれが除外された場合。これは実行可能なソリューションであることが判明しました。私はより洗練された解決策を見つけることができませんでしたが、なぜこの動作が発生するのか知っていますか?まだ解決しようとしています..特に、非デフォルトのメールボックスリスナーで助けてくれてありがとう:) – Freelancer