データの受け渡しをするときや、報告書などに添付資料の一覧をまとめるときなど、ファイルの一覧表を付けたい場合がよくあります。添付された資料に漏れがないか確認できる、そんな一覧表をササッと作成できると便利です。今回は、ファイル一覧表の作成ツールを作ってみます。
フォルダ内のファイル一覧表の作成プログラム
フォルダ内のファイル一覧表を作るプログラムを紹介します。一覧表は、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を保存名に保存。
終わる。
#-----------------------------------------------------------------------