当 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 上。我没有在其他版本上测试过。
我认为您的问题只是 olFormatHTML 没有引用就没有价值,因为它是 Outlook 枚举的一部分。尝试改用文字值:
olMail.BodyFormat = 2
Run Code Online (Sandbox Code Playgroud)
或者先声明一个常量:
Const olFormatHTML as Long = 2
Run Code Online (Sandbox Code Playgroud)