![見出し画像](https://assets.st-note.com/production/uploads/images/128838785/rectangle_large_type_2_1d8287aad68907e9cae550f7d171cee2.jpeg?width=1200)
フォルダー内のファイル名一覧を作成
指定のフォルダー内の、ファイル名を
ボタン一つで、ExcelのA列に一覧表示することが出来ます。
フォルダー内にある複数のファイルをリスト化する場合(電子帳簿等)、便利です。
無料ダウンロード※Microsoft Excelを使用します。
使用VBAコード----------
Sub ListFiles()
Dim FileSystem As Object
Dim HostFolder As String
' エクセルのシート1のC5セルからフォルダパスを取得します。
HostFolder = ThisWorkbook.Sheets(1).Range("C6").Value
' FileSystemObjectのインスタンスを作成
Set FileSystem = CreateObject("Scripting.FileSystemObject")
' 指定されたフォルダ内のファイルを列挙
Call ListFilesInFolder(FileSystem.GetFolder(HostFolder), True)
' オブジェクトを解放
Set FileSystem = Nothing
End Sub
Sub ListFilesInFolder(ByRef Folder As Object, IncludeSubFolders As Boolean)
Dim File As Object
Dim r As Long
' 次の書き込み位置を取得
r = ThisWorkbook.Sheets(1).Cells(ThisWorkbook.Sheets(1).Rows.Count, "A").End(xlUp).Row + 1
' フォルダ内の各ファイルに対してループ
For Each File In Folder.Files
' A列にファイル名を書き込む
ThisWorkbook.Sheets(1).Cells(r, 1).Value = File.Name
r = r + 1 ' 次の行へ
Next File
' IncludeSubFoldersがTrueの場合はサブフォルダも検索
If IncludeSubFolders Then
Dim SubFolder As Object
For Each SubFolder In Folder.SubFolders
Call ListFilesInFolder(SubFolder, True)
Next SubFolder
End If
End Sub
この記事が気に入ったらサポートをしてみませんか?