Excel保存時のファイル名についての注意事項

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が使用できません。 

合わせて、チェックをするよう心がけましょう。 

コメント

タイトルとURLをコピーしました