| 
    
     |  | > ichinoseさんのおっしゃっている原因もよくわかります。 > いつもDir関数で、ファイルの存在チェックだけしていた
 >(ファイル存在チェックだけだと、間違いではないと思いますが)ので、
 > この機会に勉強して、見直してみたいと思います。
 
 仕様・要件によるでしょうね。
 個人で使うのであれば、いざとなれば自分でDebugしてやれば
 いいだけの話ですが、配布するとなると変わってきます。
 
 事前にFileを扱うことに関して、きちっとした仕様を固めていればいいのですが、
 通常はそこまで詳細に仕様を固めていないと思いますので、
 その場合Windows標準機能で出来ることはすべて意識する必要があるでしょう。
 (意識してCodingしない場合、Bugとなります。)
 
 ExcelでBookが開けない原因は、他にも以下のようなCaseが存在します。
 
 1. NTFSのAccess権で許可されていない(Networkの場合共有のAccess権も)
 2. Excelで扱えるPath長を超えている
 (170文字くらいで引っかかりますが、環境により異なります。
 Shellの制限あたりの絡みがくさいですが、詳細は不明です。)
 
 また、前にも書きましたが・・・VBAでErrorになるのはCodeで呼び出した
 Method等が、そういった例外となるような条件を自動的に判別しているので
 わざわざ2度Checkする必要はないでしょう。
 (もし、そういったCheckを行っていないのであれば、
 Application Errorが発生するでしょうし・・・)
 
 ErrorにならないようにCodingする必要があるのは、VBAでTrapされていない
 Error、つまりはApplication Errorが発生するような場所でしょうね。
 
 事前にCheckしてErrorを発生させないようにCodingすることは、
 非常に重要ですが、ことVBAに関する限り、VBAで発生するErrorを
 上手に使ってやることが、一歩上を目指す上では必要でしょう。
 
 |  |