【发布时间】:2016-01-21 00:21:00
【问题描述】:
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myitems = myInbox.Items
For Each myitem In myitems
If myitem.Class = olMail Then
If InStr(1, myitem.Subject, "Hi") > 0 Then
If myitem.Sender.GetExchangeUser.PrimarySmtpAddress = "xyz@abc.com" Then
With myitem.Forward
.Recipients.Add "pqr@abc.com"
.CC = "xyz@abc.com"
.Body = "Hey,there"
.Send
End With
End if
End if
End if
Next myitem
基本上,如果我从 xyz 收到 最后一封带有主题行的电子邮件为 “Hi”,那么我想转发 strong> 到 pqr 和 CC xyz 。一切正常,但转发的消息不是原始消息,它只是撰写了一封新电子邮件。除了从 xyz 收到的内容之外,我在转发电子邮件时总是想添加一些内容。任何人都可以帮忙吗?谢谢。
编辑:- 如果我在 With myitem.Forward 之后立即放置一个显示命令,它会显示整个线程,但一旦我添加收件人和正文,它就会消失并变成新电子邮件。另外我认为它可以将 .body 解释为整个新主体,我应该找到一些可以添加到现有主体的东西。
【问题讨论】:
-
您要发送最新的(根据您的标题)还是原件(根据您的文本)?你怎么得到
myitem? -
可能有很多误报。如果主题是“我的团队上周得分非常High”怎么办?
-
你试过
.Body = "Hey,there" & vbNewLine & myitem.Forward -
@DickKusleika 我正在循环收件箱中的所有电子邮件,这就是获取 myitem 的方法。谢谢。
-
添加到现有正文:
.Body = "Hey, there" & vbCrLF & .Body