vba フォルダ内のファイル一覧
このチュートリアルでは、フォルダ内のすべてのファイルの名前を取得し、ワークシートに配置する方法を学習します。
代わりに、ファイルが存在するかどうかを確認する方法を学びたい場合は、このリンクをクリックすることができます:VBA ファイルの存在を判断
FileSystemObject を使ってフォルダー内のファイル一覧を取得する
VBAでは、あるフォルダーにあるすべてのファイルを一覧表示するために FileSystemObject. C:\VBA Folderという フォルダーにあるファイルの一覧を取得し、Worksheetの1列目に配置する方法を紹介します。このフォルダは、画像1のように5つのファイルから構成されています。
画像1.フォルダ C:\VBA Folder内のファイル
以下はそのコードです。
Sub LoopThroughFiles ()
Dim oFSO As Object
Dim oFolder As Object
Dim oFile As Object
Dim i As Integer
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("C:\VBA Folder")
For Each oFile In oFolder.Files
Cells(i + 1, 1) = oFile.Name
i = i + 1
Next oFile
End Sub
この例では、まずScripting.FileSystemObjectクラスのオブジェクトを作成します。
Set oFSO = CreateObject("Scripting.FileSystemObject")
そして、GetFolderメソッドを使用してフォルダを設定します。
Set oFolder = oFSO.GetFolder("C:\VBA Folder")
次に、oFile.Name を使ってoFolder 内の各ファイルの名前を取得し、次の空行に書き込むためにループします。
For Each oFile In oFolder.Files
Cells(i + 1, 1) = oFile.Name
i = i + 1
Next oFile
画像2.フォルダ内のファイル一覧が表示されたワークシート
画像2のように、C:\VBA Folderの5つのファイルが1列目に表示されています。