使用VBA如何将富文本从一个outlook项目复制到另一个outlook项目
我正在使用Outlook 2019将邮件从一个Outlook项目复制到另一个Outlook项目。问题是它不会复制富文本。下面是我正在使用的代码示例。这篇文章显著减少了:使用VBA如何将富文本从一个outlook项目复制到另一个outlook项目,vba,outlook,richtext,Vba,Outlook,Richtext,我正在使用Outlook 2019将邮件从一个Outlook项目复制到另一个Outlook项目。问题是它不会复制富文本。下面是我正在使用的代码示例。这篇文章显著减少了: Option Explicit Sub EmailTest() Dim objOutlookApp As Object Dim objOriginalItem As Object Dim objNewItem As Object Dim ob
Option Explicit
Sub EmailTest()
Dim objOutlookApp As Object
Dim objOriginalItem As Object
Dim objNewItem As Object
Dim objInspector As Object
Dim objAccount As Object
Dim strEmailAddress As String
'Set objInspector
Set objInspector = Application.ActiveInspector
'Set objOriginalItem so that it can be referenced
Set objOriginalItem = objInspector.CurrentItem
'Set objNewItem to create the new message.
Set objNewItem = Application.CreateItem(0)
'Set objOutlook App
Set objOutlookApp = CreateObject("Outlook.Application")
'Copy the original Body into the new item Body
objNewItem.Body = objOriginalItem.Body
'Copy the original Subject into the new item Subject
objNewItem.Subject = objOriginalItem.Subject
'Assign strEmailAddress
strEmailAddress = "myname@gmail.com"
'Set the fields of the MailItem. Note: objNewItem.Body was previously set
With objNewItem
.Display
.Subject = objOriginalItem.Subject
.To = strEmailAddress
.Send
End With
Set objNewItem = Nothing
Set objOriginalItem = Nothing
Set objInspector = Nothing
Set objOutlookApp = Nothing
End Sub
这是原始邮件正文:这是一些粗体斜体文本,
这是一些普通文本
这是一个链接
这是一些普通文本
真诚地,
我 不幸的是,这是发送的内容:
这是一些粗体斜体文本,
这是一些普通文本
这是一个链接
这是一些普通文本
真诚地,
我
问题:如何使用VBA发送保留富文本属性和链接的消息?首先,无需在代码中创建新的
应用程序实例:
'Set objOutlook App
Set objOutlookApp = CreateObject("Outlook.Application")
注意,您正在使用纯文本正文
属性复制邮件内容:
'Copy the original Body into the new item Body
objNewItem.Body = objOriginalItem.Body
相反,您需要使用HTMLBody属性:
'Copy the original Body into the new item Body
objNewItem.HTMLBody = objOriginalItem.HTMLBody
除了避免复制纯文本Body
属性(而不是使用HTMLBody
或RtfBVody
项目的ss格式),还可以使用MailItem.copy
然后MailItem.Move
复制所有属性