我需要转发选定的电子邮件(我称之为
origEmail
)及其附件和附加文本。
代码省略了
origEmail
的附件。
转发电子邮件的正文取自模板电子邮件,并与
origEmail
正文合并。
如何添加
origEmail
的附件?
Sub forwardemailwithattachment()
Dim origEmail As MailItem
Dim forwardEmail As MailItem
Set origEmail = Application.ActiveWindow.Selection.Item(1)
Set forwardEmail = Application.CreateItemFromTemplate("insert here template location")
forwardEmail.To = "insert here email address of recipient"
forwardEmail.Subject = forwardEmail.Subject & origEmail.Subject
forwardEmail.HTMLBody = forwardEmail.HTMLBody & origEmail.Forward.HTMLBody
forwardEmail.Display
End Sub
你可以试试这个:
pathto = "C:\YourPath\"
For i = 1 to origEmail.Attachments.Count
origEmail.Attachments(i).SaveAsFile pathto & origEmail.Attachments(i).FileName
forwardEmail.Attachments.Add pathto & origEmail.Attachments(i).FileName
Kill pathto & origEmail.Attachments(i)
Next i
调用
MailItem.Forward
(返回新转发的 MailItem
对象以及适当格式的正文和附件),然后使用额外数据修改其 HTMLBody
。请记住,两个 HTML 字符串不能简单地连接 - 它们必须合并。
要在转发时创建新项目,您需要使用相应的方法,请参阅MailItem.Forward。
您的代码可能如下所示:
Sub forwardemailwithattachment()
Dim origEmail As MailItem
Dim forwardEmail As MailItem
Set origEmail = Application.ActiveWindow.Selection.Item(1)
Set forwardEmail = origEmail.Forward()
forwardEmail.To = "insert here email address of recipient"
forwardEmail.Display
End Sub
注意,如果调用
Forward
方法,则无需单独设置消息正文或设置 Subject
属性。它们将根据原始项目属性进行默认设置。