首页 文章

将word文档的内容作为电子邮件正文发送时保留文本格式,

提问于
浏览
1

我正在尝试将word文档的内容作为outlook电子邮件的正文发送,但是文本的格式(粗体,颜色等)在插入电子邮件后会丢失 .

我也尝试使用word文档作为Envelop项,它确实保留了原始格式,但.Display方法在这种情况下不起作用 .

以下是我的代码

bodi = wdDoc3.Content

     With wdApp.ActiveDocument

    .SaveAs ThisWorkbook.Path & "./Past email/Email generated on" & "-" & Format(Date, "dd mmmm yyyy") & ".doc"
    .Close

    End With

 Set Mail_Object = CreateObject("Outlook.Application")
 Set Mail_Single = Mail_Object.CreateItem(0)


With Mail_Single

 .Display

 End With

 signature = Mail_Single.body

 With Mail_Single
 .To = arr2(2, 1)
 .Subject = arr2(1, 1)
 .CC = arr2(3, 1)
 .Bcc = arr2(4, 1)
 .body = bodi & vbNewLine & signature

以下是我在互联网上使用envelop方法找到的代码,但.display或.visible方法不会弹出outlook窗口 . 它只是直接发送电子邮件,这不是我想要的 .

set itm=wddoc3.mailenvelope.item
with itm
.to=""
.subject=""
.display

the .display here is not working

end with

我该如何解决这个问题,还是有其他方法可以保留文本格式?

1 回答

  • 0

    MailItem类的Body属性返回或设置表示Outlook项目的明文正文的字符串 . 要保留任何格式,您需要使用HTMLBody或Word编辑器 .

    Outlook对象模型为工作项主体提供了三种主要方式:

    • Body - 表示Outlook项目的明文正文的字符串 .

    • HTMLBody - 表示指定项目的HTML正文的字符串 .

    • Word editor - 正在显示的消息的Microsoft Word文档对象模型 . Inspector类的WordEditor属性从Word对象模型返回Document类的实例,您可以使用该实例来设置消息正文 .

    您可以在Chapter 17: Working with Item Bodies中阅读有关所有这些方法的更多信息 .

    因此,您可以轻松使用Word编辑器设置邮件正文而不会丢失任何格式 .

相关问题