データの受け渡しをするときや、報告書などに添付資料の一覧をまとめるときなど、ファイルの一覧表を付けたい場合がよくあります。添付された資料に漏れがないか確認できる、そんな一覧表をササッと作成できると便利です。今回は、ファイル一覧表の作成ツールを作ってみます。

フォルダ内のファイル一覧表の作成プログラム

 フォルダ内のファイル一覧表を作るプログラムを紹介します。一覧表は、CSV形式で保存されます。CSV形式なら、Excelで開いて整形できますし、整形した表をWordに貼り付けるのも容易です。

 一覧表を作る上で列挙したいファイルというのは、WordやExcelのファイルなどに限られています。そこで、列挙するファイルをワイルドカード(文字や文字列の代わりを果たす特別な文字。参照記事はこちら)で複数指定できるようにしています。

マイドキュメントの中にあるフォルダ内を列挙した例
マイドキュメントの中にあるフォルダ内を列挙した例
[画像のクリックで拡大表示]

【使い方】

 以下のプログラムをなでしこエディタに貼りつけて実行すると、フォルダの選択ダイアログが表示されます。一覧表を作りたいファイルが入るフォルダを指定すると、ファイルが列挙されます。その後、一覧表のCSVファイルの保存先を指定します。

【プログラム】

#-----------------------------------------------------------------------
# フォルダ内のファイル一覧表を作る
#-----------------------------------------------------------------------
拡張子フィルタ=「*.xls?;*.doc?;*.txt」# Excel/Word/テキストファイルのみ
#-----------------------------------------------------------------------
# フォルダの選択と設定
フォルダ選択して、対象フォルダに代入。
もし、対象フォルダが空ならば、終わる。
「サブフォルダも調べますか?」と二択して、サブフォルダ調査に代入。
#-----------------------------------------------------------------------
# フォルダの調査
もし、サブフォルダ調査がはいならば
  ファイル一覧=対象フォルダ&拡張子フィルタの全ファイル相対パス列挙。
違えば
  ファイル一覧=対象フォルダ&拡張子フィルタのファイル列挙。
#-----------------------------------------------------------------------
# 一覧表の作成
CSV=空。
ファイル一覧を反復
  # ファイルサイズとサイズを分かりやすく示す
  ファイルB=対象フォルダ&対象のファイルサイズ。
  もし、ファイルB < 1024 ならば
    Fサイズ=ファイルB&「B」
  違えば、もし、ファイルB < (1024*1024)ならば
    Fサイズ=INT(ファイルB÷1024+1)&「KB」
  違えば
    Fサイズ=INT(ファイルB÷(1024*1024)+1)
  ここまで。
  # 最終更新日の取得
  F更新日=対象フォルダ&対象のファイル更新日時。
  # フォルダ名とファイル名を分ける
  対象からパス抽出して、Fフォルダ名に代入。
  対象からファイル名抽出して、Fファイル名に代入。
  # CSVの行を作る
  CSV=CSV&「{Fフォルダ名},{Fファイル名},{Fサイズ},{F更新日}{改行}」
#-----------------------------------------------------------------------
# 保存
「*.csv」の保存ファイル選択して保存名に代入。
もし、保存名が空ならば、終わる。
CSVを保存名に保存。
終わる。
#-----------------------------------------------------------------------