指定したフォルダ内のファイル名一覧出力
すごく便利なサンプルコードがありました。
参考サイト
VBA応用(フォルダ内のファイル一覧の取得)
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_080.html
上記サイトより引用したコード
Sub フォルダ内ファイル一覧出力() Const cnsTitle = "フォルダ内のファイル名一覧取得" Const cnsDIR = "\*.*" Dim xlAPP As Application Dim strPathName As String, vntPathName As Variant Dim strFileName As String Dim GYO As Long Set xlAPP = Application ' InputBoxでフォルダ指定を受ける vntPathName = xlAPP.InputBox("参照するフォルダ名を入力して下さい。", _ cnsTitle, "C:\") ' ① If VarType(vntPathName) = vbBoolean Then Exit Sub strPathName = vntPathName ' フォルダの存在確認 If Dir(strPathName, vbDirectory) = "" Then ' ② MsgBox "指定のフォルダは存在しません。", vbExclamation, cnsTitle Exit Sub End If ' 先頭のファイル名の取得 strFileName = Dir(strPathName & cnsDIR, vbNormal) ' ③ ' ファイルが見つからなくなるまで繰り返す Do While strFileName <> "" ' ④ ' 行を加算 GYO = GYO + 1 ' 先頭は1行目 Cells(GYO, 1).Value = strFileName ' ⑤ ' 次のファイル名を取得 strFileName = Dir() ' ⑥ Loop End Sub
ファイル名に拡張子がつかないものは
フォルダかもしれない(判定かけて下にファイルがないか確認)
でも何階層もあるフォルダだと面倒なので階層を指定出来るようにすると
便利そう。
作ってみよう。
出来たら下に追記↓
と思ったら下にフォルダ配下の一覧取得のコードもありました。
すごく便利。。きちんと最後まで見てから書こう...