CoCoのYDブログ

心に思い浮かんだことを少し掘り下げ発信します

【VBA】ファイル一覧を表示する

こんにちは

 

今回はフォルダに保存されたファイルの一覧を表示するプログラムを書きます。表示だけですが、処理を行うようにプログラムしたらできることが増えると思われます

サンプルプログラム

Sub test2()
    Dim FileName As String
    Dim CNT As Long

    CNT = 1
    FileName = Dir(ThisWorkbook.Path & "\*")

    Do While FileName <> ""
        Cells(CNT, 1) = FileName
        CNT = CNT + 1
        FileName = Dir()
    Loop
End Sub

 1行目:プロシージャの開始

2行目:File\nameをString型で宣言

3行目:CNTをlong型で宣言

4行目:なし

5行目:CNTに1を代入

6行目:FlieNameにDir(ThisWorkbook.Path & "\*")を代入

7行目:なし

8行目:Do Loop文の開始

9行目:FileNameをCells(CNT, 1) に代入

10行目:CNTに1を足す

11行目:FileNameにDirで次に見つけたファイル名を入力

12行目:Loopを返す

13行目:プロシージャの終了

 

解説

6行目

今回はDir(ThisWorkbook.Path & "\*")という形で代入しています。

これはThisWorkbook.Path で見つけたファイルを上から順に代入していきなさいという命令です。

10行目のDir()で6行目に入力した条件で次に見つけたファイル名を返しなさいという命令になっています。

もうファイルが無いよ!という場合、””(何もない)を返すため8行目のWhile文から抜け出すことができます。

 

なんか6行目でまとめちゃったせいでごちゃごちゃしちゃいましたねw

でも一連の流れは分かったと思います。

今回はファイルの一覧を表示する方法として記載しましたが。ファイルの情報を取得する、もしくは編集することも可能です。

 

では今回はこの辺で