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つは別々に取り扱う必要があるのだ。

ああ、面倒くさい。

タグ:ひどい
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/99687667
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

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