フルパスからパス名・ファイル名を分離するExcelVBA

フルパスからパス名・ファイル名を分離するExcelVBA

VBAでファイルを開くためにはフルパス(ドライブ名+すべてのフォルダ名を指定してファイル名を入力すること)が必要ですが、開いたものの操作はファイル名のみで行うので、分離しなきゃいけないですよね。そんなときのコードです。


そもそもファイルとフォルダの区別が…

VBAとか以前にPCを触る上での超基礎だと思うのですが、日常的に業務でPCを使っているおじさま達にファイルとフォルダの話をすると「???」となる方も意外と多いので、一応おさらい。

120316-1

フォルダはディレクトリとも呼びます。

どうも、クリアファイルとかを連想してファイル→入れ物と思ってしまうから混乱するみたいなんですよね。

パスは、ファイルの住所

120316-2

パスの概念はこんな感じです。フルパスは、住所+名前という感じですね。ファイル名は必ず拡張子まで指定してください。

フルパスからパスとファイル名に分離する

※環境によって半角¥が逆スラッシュのように見えるかもしれませんが、コピペして頂けるとVisualBasicEditorでは正常に表示されます。

右から“¥”の位置を検索してそこから左(パス)と右(ファイル)に分離しています。

特殊フォルダのパス

マイドキュメントやデスクトップのパスはPCによって違うので、ベタで指定してしまうと違うPCで使ったときにそんなパスねーよ!って怒られてしまいます。そんな時はコレ!

自分(現在プログラムを記述しているExcelファイル)のパスなどを取得することもできます。

パス関連はトラブルが多い

複数の人間・PCで仕様するプログラムは、誰かがファイルを移動してしまったり、フォルダ名を変更してしまったりでトラブルが起こりやすいです。

ルールを決めて管理するのももちろんですが、プログラム側でもパスのベタ打ちはできるだけ避けて、変数に格納できるような形にしておくなどの工夫が必要だよなーといつも思っています。

公開日:2012/03/16
更新日:2014/01/06

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

当サイトはスパム対策のため Akismet プラグインを利用しています。コメントデータの処理方法はこちらをご参照ください。

コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にですがスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)