VBなどから、Excelを操作する時の注意点についてです。
VBなどから、Excelを操作することが、お客様の要望でよくあると思います。
これは、システムで作られたExcelファイルを2次利用できるためです。
開発者としては、あまりやりたくないところではあると思いますが 、やはり、使い勝手を考えるとこうなってしまいます。
そこで、Excelファイルを保存するときの注意点について、述べていきたいと思います。
Excelには、ファイル名について、OS(Windows)とは別に、独自の仕様があるようです。
ファイルパス218文字制限と、ファイル名の禁則文字([])があります。
ユーザ指定の任意のファイル名を指定できるようにする場合、予期しない動作をしないよう制御をしておくことが必要です。
ファイルパス218文字制限
ファイル保存時のファイルパス(またはファイル名)が218文字を超えると、エラーが発生します。
※SaveAsメソッドなどで指定する文字列が218文字という意味です。
ちなみに、Windowsでは、255文字(2000,XP,Vista) or 255バイト(95,98,Me) の制限がかかるようです。
ただし、微妙に文字(バイト)数が違うことがあるようなので、実際にやってみるのが一番です。
ファイル名の禁則文字([])
半角括弧([])を含むファイル名で保存すると、
[]を()にエラーも発生せず勝手に変換されて保存されます。
例:test[1].xls → test(1).xls
上記の例でいくと、プログラムでは「test[1].xls」で認識しているため、ファイルが存在しないなどの、意図しないエラーが発生する可能性があります。
ちなみに、OS(Windows)では、「\ / : , ; * ? ” < > | 」や、改行文字などの文字コード0~31が使用できません。
合わせて、チェックをするよう心がけましょう。
コメント