转发电子邮件及其附件和模板中的文本

问题描述 投票:0回答:3

我需要转发选定的电子邮件(我称之为

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
vba outlook email-attachments
3个回答
0
投票

你可以试试这个:

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

0
投票

调用

MailItem.Forward
(返回新转发的
MailItem
对象以及适当格式的正文和附件),然后使用额外数据修改其
HTMLBody
。请记住,两个 HTML 字符串不能简单地连接 - 它们必须合并。


0
投票

要在转发时创建新项目,您需要使用相应的方法,请参阅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
属性。它们将根据原始项目属性进行默认设置。

© www.soinside.com 2019 - 2024. All rights reserved.