私は、DIR関数を利用したことはありません。
しかし、田中先生が、DIR関数は、実務でよく利用すると仰っていました。
DIR関数について説明をします。
目次
箱の中身はなんだろな?
こんにちは。伊川(@naonaoke)です。
フォルダの中に、ファイルが存在するかの確認は、DIR関数を利用します。
正直、私自身は、1度も利用したことがありません。
しかし、田中先生が、実務で利用するというなら、多分、利用するんだと思っていました。
私自身も、どうしても、DIR関数を利用する場面が、最近あったため、DIR関数を利用することにしました。
検索すると、様々なファイル名を取得するこができるようです。
今回は、ファイル名に特化した内容で紹介します。
このブログはこんな人にお勧め
- フォルダのファイル名を知りたい人
- ファイル確認で、フォルダを開くのが面倒な人
- VBAで任意の名前のファイルがあるかどうか調べたい人>
このブログを、読み終わるころには・・・・
今回は、ファイルの存在を確認する方法です。
Functionを利用しなくても、できますが、できるだけ可読性を高めるためFunctionを利用しました。
DIR関数
定数 | 値 | 詳細 |
---|---|---|
vbNormal | 0 | 標準ファイル(既定値) |
vbReadOnly | 1 | 読み取り専用ファイル |
vbHidden | 2 | 隠しファイル |
vbSystem | 4 | システムファイル(Windowsのみ使用可) |
vbVolume | 8 | ボリュームファイル(Windowsのみ使用可) |
vbDirectory | 16 | フォルダ |
vbAlias | 64 | エイリアスファイル(Macのみ使用可) |
Dir関数は、パス名で指定したファイルが存在した場合に、そのファイルのファイル名を返す関数です。
今回は、標準ファイルのみを説明します。
隠しファイル等は検索しないほうがいいです。
人には、知らなくていいことがあります。
私の2番目の上司が、隠しフォルダ、隠しファイルが好きでした。
見られて困るなら、フォルダに権限を付ければいいのにと思うんですけどね。
DIR関数 作業手順 その1 Functionで設定する
では、Functionで設定します。
刀の試し切りではないですが、知識を得たら、忘れないうちにアウトプットするのが重要です。
セルに実装する場合は、カウントアップを利用します。
※伊川の失敗談
ここで、For~Nextでループを利用しようと思い深みにハマったことがあります。
動くことは動いたような気がしますが、はっきり言って、コードを見なおしたときに、腑に落ちない状況が続きました。
DIR関数 作業手順 その2 Functionを呼び出す
今回紹介したコードは、VBEの画面を開いて、ドライブ、フォルダ名を変更しなくてはなりません。
それが、面倒なら、変数で指定する方法もありますね。
セルC1にパスを入力しておけば大丈夫となります。
DIR関数 作業手順 その3 そのコード、もっと便利に!
VBEにフォルダパスを記載するとか、セルにフォルダパスを記載するとか、普通はあり得ないです。
ダイアログボックスでフォルダを指定します。
これが、本当のシステムになるのではないでしょうか?
現実的にエンドユーザーが便利と思えるシステムを作成しましょう。
ここがポイント
DIR関数ですが、利用したことがないとは言っても、知識として知っておくことは重要です。
知識は荷物にならない。
この点を肝に銘じて貪欲にVBAの知識を身に着けていきましょう。
まとめ
DIR関数をどうしても利用しなければならない場面は、次回説明します。
お楽しみに!
今回も最後まで読んでいただき、ありがとうございました。
今回のサンプルファイルは、No254です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。