ファイル一覧の仕様
【環境】Windows 10 Pro 64bit、Excel for Office 365
Excel VBAを使用して、Excelシート上にカレントフォルダ配下のファイルを一覧する単純なツールをFileSystemObjectを使用して作成し、VBAの勉強をしていきます
どんなファイル一覧を作成するのか、仕様を考えていきましょー
■ファイル一覧
簡単なファイル一覧を作成するのに、仕様書を作るまでもないと考えていますが、作成後のイメージは必要と思いますので、以下に載せておきます
シートの構成は以下の2つで、それぞれの画面イメージを載せていますが、シートを分けたのはセル幅を気にしただけのようにも見えますが、出力シートを都度指定できるようにするため、出力は別シートとしているのです!w
- 入力用の表紙シート
- 出力用の一覧シート
■入力用シート
入力する情報(プロパティ)としては、以下の3点くらいで良いかと考えています
- どこのフォルダを一覧するのか?
- どんなファイルを一覧するのか?
- どのシートに出力するのか?
実施する処理(メソッド)としては、以下の4点くらいかと考えました
- フォルダパスを指定する
- フォルダパスを消す
- 一覧を作成する
- 一覧を消す
・どこのフォルダ
どこのフォルダにあるファイルを一覧するのか、それを指定するために、カレントフォルダの入力欄をシートに作成します
・どんなファイル
今回は、拡張子が同じでもプレフィックスが一致するようなファイルのみを抽出したいなどもあるかと思い、ワイルドカードを使用してLIKE検索するようにしたいと思います
ファイルを絞り込むのに、拡張子だけでいいのならば、拡張子を選択するような機能にしてもよいかと思いますし、ワイルドカードではなく、正規表現で一致させる方法もあるでしょう
複数の拡張子やパターンが入力できても良いかも知れませんね!
・どのシート
出力先のシート名はハードコーディングで固定でも良かったんですが、一覧の出力結果を残しておけるように、シート名を都度設定できるようにしてみます
この場合、存在しないシートは作成するのか、存在しないからエラーとするのか、決めるべきところが残りますが、それはおいおい考えていきます
・フォルダパスを指定する
手入力でもいいのですが、勉強のために「参照」ボタンを作成して、フォルダを指定できるようにしてみます
今回はカレントフォルダとしていますので、指定したフォルダの配下にあるサブフォルダも全て検索する対象としていきます