初心者から実務利用者まで
わかりやすいVBA解説サイト
コードサンプル

指定のフォルダが存在しているか調べる

指定したフォルダが存在しているか調べます。

遥先生
遥先生
Dir関数という関数を使うのよ。
ひとみさん
ひとみさん
フォルダ検索ができるなんてとても便利な関数ですね!
この記事でわかること

・Dir関数とは
・指定のフォルダが存在しているか調べるコード
・指定パスを一度変数に入れる小ワザ!

Dir関数とは

Dir関数は指定したフォルダが
存在しているかを調べる事ができる関数です。

検索したいフォルダのパスを引数にすると
そのフォルダが存在していれば、変数にフォルダ名が代入されます。
フォルダが存在しなければ””が返ります。

指定したフォルダが存在するかを確認するコード

遥先生
遥先生
検索したフォルダが存在していればフォルダ名を
変数strに代入します。

検索パスを変数「path」に入れた理由

遥先生
遥先生
検索するフォルダのパスを一度
変数「path」の中に入れているの。

上記のサンプルでは一度変数「path」を作成して
その中に検索したいフォルダのパスを入れています。

しかし、変数「path」を使わずに
直接Dir関数の引数にパスを書き込んでも構いません。

ただし、検索するパスがもっと長い場合は
Dir関数の()の中がものすごく
ゴチャゴチャしてしまいます。

また、マクロの中に指定パスを組み込んでしまうと
いつか検索パスを変更したい時が来た場合に、
コードを追ってどこに書いたかを探さなくてはなりません。

そのため、コードの上部にまとめた変数の中で
変数「path」に検索パスを代入して
変数の内容を管理しています。

ひとみさん
ひとみさん
Dir関数の()の中がスッキリして見やすくなりますね!

Dir関数のまめちしき

下記は仕組みの説明であり、知らなくてもコードは動きます。
知識を深めたい方のみ読んでみてください。

Dir関数の書き方は「Dir(パターン, 属性)」となっており、
Dirの後に、「パターン」と「属性」という二つの引数を設定します。

パターンは、パスやファイル名など、探したい文言を記入する場所です。

属性は、探すものの種類のことです。
ファイル、フォルダ、隠しファイル、読み取り専用ファイルなどが選べます。

属性を省略すると自動的にファイルを探します。

上記のサンプルではフォルダを探そうとしているので
属性の部分がフォルダを表す
「vbDirectory」となっています。

処理をサブルーチン化する

遥先生
遥先生
メインマクロからサブルーチン化した
処理を呼び出すコードです。

メインマクロからパスを引数で渡し、サブルーチンでフォルダの存在を確認します。
パスはA1セルに入力する仕様となっています。
入力セルを変更する場合は7行目を変更してください。

ひとみさん
ひとみさん
長いマクロにはこちらをコピーして
アレンジして使用できますね。