我想创建序数并以正确的格式将它们传递到Outlook正文,但当我这样做时,所有格式都消失了。如何管理这种情况?
序数是1st、2nd、3rd等。
我的代码如下
Dim OutApp As Outlook.Application
Dim OutAppoint As Outlook.AppointmentItem
Set OutApp = New Outlook.Application
Set OutAppoint = OutApp.CreateItem(olAppointmentItem)
Cells(1, 1).Value = "2nd"
Cells(1, 1).Characters(2, 3).Font.Superscript = True
Ordinal_number = Cells(1,1).Value
With OutAppoint:
.Body = Ordinal_number
.Display
End With
2条答案
按热度按时间mxg2im7a1#
Body属性返回或设置表示Outlook项目的明文正文的字符串。因此,它不能包含您在Excel端设置的任何格式。相反,您可以复制Excel中所需的内容并使用Word对象模型将其粘贴到邮件正文中,或者仅将所有内容导出到Excel中的HTML标记,然后在Outlook中设置
HTMLBody
属性。Outlook对象模型支持三种主要的自定义邮件正文的方法:
MailItem
类的HTMLBody属性返回或设置表示指定项的HTML主体的字符串。设置HTMLBody
属性将始终立即更新Body
属性。ddrv8njm2#
正如您所注意到的,格式将丢失。请尝试以下操作。这些字符至少可以在复制过程中保留下来。请确保它们始终保留下来。
代码使用上标和修饰符unicode字母代替。