Excelマクロの盲点
本日、仕事でExcelマクロが動かない問題が発生。
参ったな、コピーするとなぜかマクロが動かない。
クライアントPCの問題だと思って、ほかの人のPCで確認してみても状況同じ。。。
そこで出たエラーを見て、もしやと思ったら、全くその通り。。。
マクロで使える変数の文字数制限が、255バイトだと思うんだけど、ファイル名を取ってくるメソッドで取得できるファイルのフルパス名の最大文字数が、255バイトで、それ以上になると、Excelでは処理仕切れなくてエラーになる。
(Excel97形式のファイルまでで、2003からは対応できているかも知れないけど。。。)
WindosXPからファイル名の長さを255バイト以上つけられる仕様になったのに、ファイルのパスあわせて255バイトで処理できないなんて、、、MSも仕様とかいわないで、「バグ」って認めろっての。。。まあ、そこがMSの良いところ?かもしれんけど。。。
なんともお粗末な仕様ではありますが、これにはまることが結構多くて、ダウンロード時にIEで直接開くとき、クライアントPCのダウンロード先デフォルトフォルダの階層が深い(結局ここでも最大255バイト)と、エラーになります。
これをユーザに説明するのが大変だったのなんのって。。。MS、頼むよって感じです。まあ、いちいち細かいことを突っ込んでも、それが積もって多大になるので、そんな細かい対応できないと思いますけどね。気持ちはわかるが、言い方の問題もあると思うんだけど、いかがですかね?
上記、ちょっとだけ覚書程度に乗せておきます。
マクロ作成時、ファイル操作する際はご注意ください。
※Hさん
見てるでしょ?見てるよね?現場で!!
こんな感じで大丈夫かな?
添削よろしく!!
(と、いいながら、これに突っ込んでくるやつは、何人かいるので、間違っていれば、レスが多大になります。)
※S君、突っ込みよろしく!!
参ったな、コピーするとなぜかマクロが動かない。
クライアントPCの問題だと思って、ほかの人のPCで確認してみても状況同じ。。。
そこで出たエラーを見て、もしやと思ったら、全くその通り。。。
マクロで使える変数の文字数制限が、255バイトだと思うんだけど、ファイル名を取ってくるメソッドで取得できるファイルのフルパス名の最大文字数が、255バイトで、それ以上になると、Excelでは処理仕切れなくてエラーになる。
(Excel97形式のファイルまでで、2003からは対応できているかも知れないけど。。。)
WindosXPからファイル名の長さを255バイト以上つけられる仕様になったのに、ファイルのパスあわせて255バイトで処理できないなんて、、、MSも仕様とかいわないで、「バグ」って認めろっての。。。まあ、そこがMSの良いところ?かもしれんけど。。。
なんともお粗末な仕様ではありますが、これにはまることが結構多くて、ダウンロード時にIEで直接開くとき、クライアントPCのダウンロード先デフォルトフォルダの階層が深い(結局ここでも最大255バイト)と、エラーになります。
これをユーザに説明するのが大変だったのなんのって。。。MS、頼むよって感じです。まあ、いちいち細かいことを突っ込んでも、それが積もって多大になるので、そんな細かい対応できないと思いますけどね。気持ちはわかるが、言い方の問題もあると思うんだけど、いかがですかね?
上記、ちょっとだけ覚書程度に乗せておきます。
マクロ作成時、ファイル操作する際はご注意ください。
※Hさん
見てるでしょ?見てるよね?現場で!!
こんな感じで大丈夫かな?
添削よろしく!!
(と、いいながら、これに突っ込んでくるやつは、何人かいるので、間違っていれば、レスが多大になります。)
※S君、突っ込みよろしく!!