将word文档的内容作为邮件正文发送时保留文本格式,
Preserve text format when sending the content of a word document as the body of an email,
我正在尝试将 word 文档的内容作为 outlook 电子邮件的正文发送,但碰巧文本的格式(粗体、颜色等)在插入电子邮件后丢失了.
我也试过用word文档作为信封项,确实保留了原来的格式,但是.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弹出window。它只是直接发送电子邮件,这不是我想要的。
set itm=wddoc3.mailenvelope.item
with itm
.to=""
.subject=""
.display
这里的.display不工作
end with
我该如何解决这个问题,或者有其他方法可以保留文本格式吗?
MailItem Body 属性 class returns 或设置表示 Outlook 项目的明文正文的字符串。要保留任何格式,您需要使用 HTML 正文或文字编辑器。
Outlook 对象模型为工作项正文提供了三种主要方式:
- Body - 表示 Outlook 项目的明文正文的字符串。
- HTMLBody - 表示指定项目的 HTML 正文的字符串。
- Word editor - 正在显示的消息的 Microsoft Word 文档对象模型。 Inspector 的 WordEditor 属性 class returns 来自 Word 对象模型的文档 class 实例,您可以使用它来设置邮件正文。
您可以在 Chapter 17: Working with Item Bodies 中阅读有关所有这些方式的更多信息。
因此,您可以轻松地使用 Word 编辑器设置邮件正文,而不会丢失任何格式。
我正在尝试将 word 文档的内容作为 outlook 电子邮件的正文发送,但碰巧文本的格式(粗体、颜色等)在插入电子邮件后丢失了.
我也试过用word文档作为信封项,确实保留了原来的格式,但是.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弹出window。它只是直接发送电子邮件,这不是我想要的。
set itm=wddoc3.mailenvelope.item
with itm
.to=""
.subject=""
.display
这里的.display不工作
end with
我该如何解决这个问题,或者有其他方法可以保留文本格式吗?
MailItem Body 属性 class returns 或设置表示 Outlook 项目的明文正文的字符串。要保留任何格式,您需要使用 HTML 正文或文字编辑器。
Outlook 对象模型为工作项正文提供了三种主要方式:
- Body - 表示 Outlook 项目的明文正文的字符串。
- HTMLBody - 表示指定项目的 HTML 正文的字符串。
- Word editor - 正在显示的消息的 Microsoft Word 文档对象模型。 Inspector 的 WordEditor 属性 class returns 来自 Word 对象模型的文档 class 实例,您可以使用它来设置邮件正文。
您可以在 Chapter 17: Working with Item Bodies 中阅读有关所有这些方式的更多信息。
因此,您可以轻松地使用 Word 编辑器设置邮件正文,而不会丢失任何格式。