スクリプトを続行する前に、Outlook アカウントで構成された Exchange サーバーが使用可能かどうかを確認したいと考えています。現在、私は確認していません。接続の問題がある場合、スクリプトはこの行で永久にハングします
Set m_objNS = m_objOutlook.GetNamespace("MAPI")
そして無反応に見える。
Outlook API 内からそれを行う方法がない場合、Exchange サーバーのアドレスを取得して ping を実行するか、.GetNameSpace 関数で 20 秒のタイムアウトを設定する方法はありますか?
更新: ネットワーク アダプターに問題がある場合 (無効になっている場合など)、コードは名前空間オブジェクトにアクセスできます。コードを承認するプロンプトが表示され、ユーザーがそれを受け入れるまで、交換モードは常に 400 になります。ただし、Exchange サーバーがダウンしている (宛先ホストに到達できない) などの実際の (テスト目的ではない問題) がある場合、Outlook は「接続しようとしている」状態でアイドル状態になり、.Session オブジェクトまたは MAPI にアクセスできません。
サーバーがダウンしているかどうかを確認する方法が必要です。