ExcelVBA〜フォルダ内のファイル一覧を取得〜
いつもありがとうございます。ナカマサです。
今回は「フォルダ内のファイルを取得するVBA」を作成しましたので共有します。
需要があるのか謎、、、
きっと必要としている人もいるはず!笑
今回はこんな感じで進めていきます。
使用方法
※「マクロを有効」にして使用してください。
①シート右側のボタンをクリックすることで、フォルダを選択するダイアログが表示されます。
②ファイル名を取得したいフォルダを選択します。
③選択したフォルダ内のファイル一覧がExcelに入力されます。
プログラム内容
Sub Get_FileList()
Dim FSO As New FileSystemObject 'ファイルシステムオブジェクト
Dim Files As Files 'Filesオブジェクト
Dim File As File 'Fileオブジェクト
Dim Fol_path As String 'フォルダのパス
Dim row_num As Long 'データを書き込む行数
'フォルダを選択するダイアログを表示
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "フォルダを選択してください"
If .Show = True Then
Fol_path = .SelectedItems(1)
Else
'フォルダが選択されていない場合は処理を終了。
MsgBox "フォルダが選択されていません。"
Exit Sub
End If
End With
row_num = 2
'Filesオブジェクトを取得
Set Files = FSO.GetFolder(Fol_path).Files
'シートを初期化
Sheets(1).Range("A2:C10000") = ""
'FilesオブジェクトからFileオブジェクトを一つずつ取り出して処理
For Each File In Files
Sheets(1).Cells(row_num, 1) = File.Name
Sheets(1).Cells(row_num, 2) = File.Type
Sheets(1).Cells(row_num, 3) = File.DateLastModified
row_num = row_num + 1
Next
MsgBox "処理が完了しました"
'オブジェクト解放
Set File = Nothing
Set Files = Nothing
Set FSO = Nothing
End Sub
参照設定(別のExcelで上記プログラムを使用する場合)
※FileSystemObjectを使用しますので、「Alt+F11」を押して以下の画面を表示し参照設定を行ってください。
どうだったでしょうか?
少しでも皆様の参考になっていれば幸いです。
「もっとこういうのを作ってほしい!」というのがあればコメント欄に入れていただけると嬉しいです!
今回はこの辺で!ではまた!
この記事が気に入ったらサポートをしてみませんか?