我有一个用户收到了系统生成的电子邮件,该电子邮件采用字体格式,这样当它在 Outlook 中呈现时,文本列不会对齐。我知道它需要什么字体,并且它已安装在用户的 PC 上。在groupwise中,他可以在收到消息后简单地更改字体,一切都很好。但是,Outlook(我们最近移至)中似乎没有此功能。
Microsoft 论坛上建议的修复方法是在收到消息时使用规则运行 VBA 脚本,并将消息转换为 RTF,然后设置字体。
这是我第一次涉足 VBA,虽然我过去做过几个小的 vb 脚本,所以我可能从一开始就偏离了基础,但这是我尝试过的。
Sub TestMessageRule(Message As Outlook.MailItem)
Set Message.BodyFormat = 3
End Sub
我收到一个错误,“无效使用属性”,所以我猜你不能那样改变它。通过使用以下代码向自己发送测试电子邮件,我得到了 1=Plain text、2=HTML 和 3=Rich Text:
Sub TestMessageRule(Message As Outlook.MailItem)
MsgBox Message.BodyFormat
End Sub
所以,问题是,我怎样才能正确更改 BodyFormat 属性,或者有什么更好的方法可以解决这个问题?
然后,如果您感觉特别好,也许您可以向我指出如何更改正文的字体。
谢谢,布莱恩
这是最终对我有用的方法:
Sub TestMessageRule(Message As Outlook.MailItem)
Dim BodyString As String
Message.BodyFormat = olFormatHTML
BodyString = Replace(Message.HTMLBody, "<FONT SIZE=2>", "<FONT SIZE=3 FACE=""COMIC SANS MS"">")
Message.HTMLBody = BodyString
Message.Save
End Sub
显然,Comic Sans MS 不是我想要的最终字体,但它非常适合测试。再次感谢您的帮助!