excel 为什么我无法在不引用Outlook库的情况下使用MailItem.BodyFormat?

bfnvny8b  于 2023-01-10  发布在  其他
关注(0)|答案(3)|浏览(145)

当VBA项目包含对Microsoft Outlook对象库的引用时,下面的代码可以正常工作。当VBA项目不包含对Microsoft Outlook对象库的引用时,最后一行将产生Invalid procedure call or argument错误。

Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(0)
olMail.BodyFormat = olFormatHTML 'error here :-(

我想我从来没有遇到过这样的情况:只有当我添加对库的引用时,库中的属性或方法才可用。
这个问题发生在Excel 2010/2013上,我没有在其他版本上测试过。

nafvub8i

nafvub8i1#

我认为您的问题很简单,olFormatHTML没有引用就没有值,因为它是Outlook枚举的一部分。请尝试使用文字值代替:

olMail.BodyFormat = 2

或者先声明一个常量:

Const olFormatHTML as Long = 2
pw136qt2

pw136qt22#

这是因为常量没有引用是不可用的。
指定项的正文文本的格式。
名称值说明
HTML 2 HTML格式
olFormatPlain 1普通格式
olFormatRichText 3格式文本格式
olFormatUnspecified 0未指定的格式

olMail.BodyFormat = 2
ecbunoof

ecbunoof3#

其他帮助我的事情如下:

olMail.BodyFormat = outlook.OlBodyFormat.olFormatHTML;

相关问题