Outlook OLE自动化:不支持BodyFormat?

时间:2018-03-14 13:03:38

标签: vbscript outlook

我正在尝试使用OLE自动化在Outlook中发送电子邮件。目前,我正在使用VBS进行测试。当它工作时,我将切换到另一种支持OLE / COM的语言。

我的代码存在的问题是,我收到错误 800a0005"无效的程序调用"参数' BodyFormat'。

根据documentation of Microsoft,自{2003}以来BodyFormat已存在。我正在使用Outlook 2010进行测试。

我的代码:

Set ol = WScript.CreateObject("Outlook.Application")
Set ns = ol.getNamespace("MAPI")

Set newMail = ol.CreateItem(olMailItem)

With newMail
       .BodyFormat = olFormatHTML
       .HTMLBody = "<HTML><H2>The body of this message will appear in HTML.</H2><BODY>Type the message text here. </BODY></HTML>"
       .Display
End With

背景:目前,有些客户收到TNEF格式的电子邮件,无法打开电子邮件附件 winmail.dat 。所以我试图强制Outlook使用HTML而不是RichText。

我该怎么办?

1 个答案:

答案 0 :(得分:3)

默认情况下未定义常量olFormatHTML

VBS代码的开头添加以下行:

Const olFormatHTML = 2