Vba: フォルダー内のファイルを一覧表示する方法


VBA で次のメソッドを使用して、フォルダー内のファイルを一覧表示できます。

方法 1: フォルダー内のすべてのファイルを一覧表示する

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    Cells(i + 1, 1) = objFile.Name
    i = i + 1
Next objFile

End Sub

方法 2: フォルダー内の .xlsx ファイルのみを一覧表示する

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    If Right(objFile.Name, 4) = "xlsx" Then
        Cells(i + 1, 1) = objFile.Name
        i = i + 1
    End If
Next objFile

End Sub

次の例は、次のファイル パスを持つフォルダーで各メソッドを実際に使用する方法を示しています。

  • C:\ユーザー\ボブ\ドキュメント\current_data

このフォルダーには、2 つの.xlsxファイルと 3 つの.csvファイルが含まれています。

例 1: フォルダー内のすべてのファイルを一覧表示する

次のマクロを作成して、フォルダー内のすべてのファイルを一覧表示できます。

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    Cells(i + 1, 1) = objFile.Name
    i = i + 1
Next objFile

End Sub

このマクロを実行すると、次の出力が表示されます。

フォルダー内のすべてのファイルの名前 (拡張子に関係なく) が Excel シートの列 A にリストされていることがわかります。

例 2: フォルダー内の .xlsx ファイルのみを一覧表示する

次のマクロを作成して、フォルダー内の.xlsx拡張子を持つファイルのみを一覧表示できます。

 SubListFiles ()

Dim i As Integer
Dim oFSO As Object
Dim oFolder As Object
Dim objFile As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oFolder = oFSO.GetFolder("C:\Users\bob\Documents\current_data")

For Each objFile In oFolder.Files
    If Right(objFile.Name, 4) = "xlsx" Then
        Cells(i + 1, 1) = objFile.Name
        i = i + 1
    End If
Next objFile

End Sub

このマクロを実行すると、次の出力が表示されます。

フォルダー内の拡張子が.xlsxのファイル名のみが Excel シートの列 A にリストされていることがわかります。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA を使用してフォルダーを作成する方法
VBAを使ってフォルダを削除する方法
VBAを使用してファイル名を変更する方法
VBAを使用してファイルが存在するかどうかを確認する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です