由于从这篇文章中,引用Excel VBA for searching in mails of Outlook,我改变了代码稍微重新发送的所有电子邮件在“已发送邮件”文件夹中的同一收件人。展望VBA错误地回复邮件中的文件夹
Function ReplyEmail()
Dim olMail
Dim olMails
Set olApp = CreateObject("Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set olFldr = olNs.GetDefaultFolder(olFolderSentMail)
Set olMails = olFldr.Items
For Each olMail In olMails
olMail.ReplyAll
olMail.Importance = 2
olMail.Subject = "RE: 2ND " & olMail.Subject
olMail.Send
Next olMail
End Function
但是,对于一些奇怪的原因,该功能只发送指定的文件夹中的所有电子邮件的一半。如果有9封电子邮件,功能发出5(左4),然后如果我运行另一次迭代,功能发出2,依此类推...
如果我将olMail.Send
更改为olMail.Display
,则功能显示所有电子邮件,弹出框。
遇到这个问题或知道什么是它背后的原因,任何一个?
谢谢。
也许你可以通过olmails中的电子邮件主题的名称来查看它的持有 – Lowpar
我用'MsgBox(olMail.To)'替换了'olMail.Send'并且**所有电子邮件**都是显示。但是,只有在出现“olMail.Send”行时才会出现此问题。如果我在'MSGBOX添加(olMail.To)'** **前'olMail.Send'则只有一半**的**显示所有邮件收件人。 –