我的工作已经开始推出一套新的联想 ThinkCentre Windows 10 电脑。问题是,在某些模型(但不是全部)上,由于 Application.Session.CurrentUser 不包含任何信息,我尝试从 Outlook 获取用户的电子邮件地址失败。如果我能找到解决方案或获取电子邮件地址的不同方法,那么我会很高兴。
这是几周前他们开始安装新计算机之前运行良好的代码:
Dim outApp As Object, outSession As Object
Set outApp = CreateObject("Outlook.Application")
Set outSession = outApp.Session.CurrentUser ' BREAKS HERE
currentuserEmailAddress = outSession.AddressEntry.GetExchangeUser().PrimarySmtpAddress
Set outApp = Nothing
End Function
在这些新系统上,尝试运行代码会抛出 运行时错误 287 在注释行。将 outApp 添加到较新系统上的监视列表显示 CurrentUser 对象为空。在我的 PC 上,我可以展开 CurrentUser 对象以查看其属性等,但在较新的对象上,它不可展开,仅在“值”列下显示“<>”。
我向我们的技术支持人员提出了一个问题,但前几天我不得不向他们解释 VGA 电缆和 DisplayPort 电缆之间的区别,所以我没有屏住呼吸。
最佳答案
尝试查看 Accounts
改为收集:
Namespace.Accounts.Item(1).SmtpAddress
不管怎样,
runtime error 287
声明您在处理 Outlook 对象模型时触发了安全问题。为了弥补安全问题的差距,您可以:关于vba - Outlook VBA 未在某些 Windows 10 计算机上返回 CurrentUser Recipient 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62261044/