• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サーバー上のブックを開けない時(エクセルVBA))

サーバー上のブックを開けない場合の対処法

このQ&Aのポイント
  • サーバー上でエクセルブックを開けない場合、待ち時間が長くなることがあります。エラーメッセージを早く表示する方法について教えてください。
  • エクセルVBAでサーバー上のブックを開く際に、ネットワーク障害などの問題で待たされることがあります。Ctrl-Breakも効果がなく、待ち時間が長いです。この問題を回避する方法を教えてください。
  • サーバー上でエクセルブックをオープンする際に、ネットワーク障害などで待たされることがあります。数分待ってからエラーメッセージが表示されます。待ち時間を短縮し、早くエラーメッセージを表示する方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

> なんとかこれを回避して、早い時間にエラーメッセージを出して > コントロールを戻すことはできないでしょうか? ネットワークに問題があるなら、事前に Dir などで調べても恐らく同様に 時間がかかってしまうかもしれません。ただ、Workbooks.Open よりは 早く結果が返ってくるかもしれませんので、お試し下さい。  --> 正しいパスを渡した Dir の結果が "" なら HOST が生きていない  --> と判定する もう一つ方法を。 ネットワークの異常を調べる際には、まずコマンドプロンプトで Ping コマンドを使用し、目的の HOST から応答があるか調べます。 この結果に応じて Workbooks.Open してみれば? VBA でやるなら  1. DOS コマンドのリダイレクト    http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGetDosResult.html    --> 結果に Reply という文字列が含まれれば OK、Timeout なら NG  2. API    http://www.sanryu.net/acc/tips/tips283.htm  3. WMI(注意)WinXPなど特定のOSに限定されます    http://www.microsoft.com/japan/technet/scriptcenter/scripts/hardware/monitor/hwmovb07.mspx    http://pwp1.atcms.jp/mokurin/index.php?cmd=read&page=WMI%2F%A5%CD%A5%C3%A5%C8%A5%EF%A1%BC%A5%AF などの方法があります。サンプルを書こうかと思いましたが、Google で [ping vba] をキーワードで調べたら上記のように良質のサンプルが ヒットしましたので、参考 URL のご紹介にしときます。 ただし、、セキュリティーソフトなどの影響で応答をかえさない PC が 有りますので、考慮する必要がありますけどね。

believe_me
質問者

お礼

回答ありがとうございます。 使用環境を忘れていました。 Windows2000Pro Office2000がメインです。 サブにWindowsXP Pro Office2003を使用しています。 3の方法がすっきりしていいのですが、Window2000では動きませんでした。 2又は1の方法でやってみたいと思います。

関連するQ&A