为什么我不能在不参考 Outlook 库的情况下使用 MailItem.BodyFormat?

Kap*_*pol 1 excel vba

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

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

我认为我从来没有遇到过这样的情况:只有当我添加对该库的引用时,该库中的属性或方法才可用。

此问题发生在 Excel 2010/2013 上。我没有在其他版本上测试过。

Ror*_*ory 6

我认为您的问题只是 olFormatHTML 没有引用就没有价值,因为它是 Outlook 枚举的一部分。尝试改用文字值:

olMail.BodyFormat = 2
Run Code Online (Sandbox Code Playgroud)

或者先声明一个常量:

Const olFormatHTML as Long = 2
Run Code Online (Sandbox Code Playgroud)