|
>これは、VBAでDir関数に260(Excel97は、261)バイト以上のパス名を指定すると「ファイルが見つかりません」のエラーになるケースのことでしょうか?
>いつも、エラーになる場合があることを認識しながら、簡単なので、Dir関数を使
>っていますので、それ以外に「最悪」な理由があれば、教えてください。
無効な(存在しない)UNCを指定したときもErrorになりますね。
あと、260Byteからわかるように、VBA.FileSystem Classは
Unicodeを一度ANSIに変換してから処理してます。
したがって、PathにUnicode拡張文字が含まれる場合Errorになります。
(もっとも、PathにUnicode拡張文字をつけること自体問題ですが・・・)
また、これは純粋に使い方の問題になりますが、
第2引数のAttributesのことです。
既定では、標準の属性しかされませんのでDirでSampleを書くなら
そのことくらいは注意しておいた方がいいとおもいます。
あと、Dir関数を使っていると、もう一度Dir関数をたたいてやらないと
FileHandleがCloseされないという問題も存在します。
以上、VBA.FileSystem Class は問題山積みですので、
わたしは一切使用しません。
|
|