我有一个引用Outlook对象的Excel VBA脚本。这曾经在以前的 Office 版本中运行。
使用Office 2016,我得到:
运行时错误"287":
应用程序定义或对象定义的错误
这是我代码的一部分:
Dim olApp As Outlook.Application
Dim olNS As Outlook.Namespace
Dim Rec As Outlook.Recipient
Dim olGAL As Outlook.AddressList
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
Set olGAL = olNS.GetGlobalAddressList
Set Rec = olNS.CreateRecipient(Cells(1, 1))
Rec.Resolve
单元格 (1,1( 包含有效的电子邮件地址。
"287"错误出现在Rec.Resolve
。
我在工具/参考中签Microsoft Office 16.0对象库。
我在 Outlook 中的"编程访问"下检查了"信任中心设置"。有三个关于可疑活动处理的单选按钮选项,它们都是未选中的。我的防病毒状态设置为"有效"。
为了确保您正在处理一个有效的字符串(不为空(,我建议声明一个字符串变量:
Dim recipient as String
Set recipient = Cells(1, 1)
MsgBox recipient
Set Rec = olNS.CreateRecipient(recipient)
Rec.Resolve
办公室或展望 PIA 中没有任何更改。您只需要根据系统上使用的Outlook版本替换Outlook COM引用。解析方法保持不变。
你从不初始化olApp
变量。 替换行
Set olApp = Outlook.Application
跟
Set olApp = CreateObject("Outlook.Application")