|
> 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を
上手に使ってやることが、一歩上を目指す上では必要でしょう。
|
|