【发布时间】:2013-08-17 22:46:51
【问题描述】:
在继续执行我的脚本之前,我想检查配置了 Outlook 帐户的交换服务器是否可用。目前,我不检查,如果存在连接问题,脚本将永远挂在这一行
Set m_objNS = m_objOutlook.GetNamespace("MAPI")
并且看起来没有反应。
如果无法从 Outlook API 中执行此操作,是否可以检索交换服务器地址并对其进行 ping 操作或在 .GetNameSpace 函数上设置 20 秒超时?
更新:如果网络适配器出现问题(例如被禁用),代码可以访问命名空间对象。交换模式将始终为 400,直到出现授权代码的提示并且用户接受它。但是,如果存在真正的(非测试目的问题),例如交换服务器已关闭(目标主机无法访问),Outlook 会在“尝试连接”状态下空闲,并且您无法访问 .Session 对象或 MAPI。
一定有办法判断服务器是否宕机。
【问题讨论】:
标签: vba outlook exchange-server