2014年06月13日

Excelのファイル名の扱いがひどい

ファイル名の括弧 [ ] が エクセルのワークブック名としては ( ) として扱われているようです。

たとえば
h[ogef]uga.xlsx というファイルをエクセルで開くと
ワークブック名は
h(ogef)uga.xlsx となります。

以下の画像は、Excelの開発者の中の人もやってしまった、ワークブック名をファイル名として出してしまったケース。(間違い)
2014-06-13_231658.png

そのため VBAの処理プログラムで ActiveWorkbook.Name が ファイル名だと思って油断して扱っていると痛い目にあう。

エクセルファイルへのフルパス ≠ Activeworkboo.Path & "\" & ActiveworkBook.name なのだ。
フルパスとしての情報は別途 ActiveWorkbook.FullName プロパティを参照すると得られる。

なので、本当にファイル名をほしい時には .FullName からファイル名部分だけ 切り出し手使う必要がある。ただしそのファイル名は Workbook を識別するための名称としては使えない場合がある。

つまり、自分の開発するVBAロジック中での目的が ワークブックを識別したいのか、ファイル名が欲しいのかで この2つは別々に取り扱う必要があるのだ。

ああ、面倒くさい。

タグ:ひどい

・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ