プログラムの概要
- 任意のフォルダに保存されているCSVファイルのファイル名のリストを文字列の配列で返します
VBAコード
'fdPathフォルダ内にあるCSVファイルのファイル名リストを配列で返す
'fdPathはフルパスの文字列 例:C:\Users\保存版\2022
Function getCSVList(fdPath As String) As String()
Dim FSO As Object
Dim f As Variant
Dim csvNames() As String
Dim cnt As Long, i As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each f In FSO.GetFolder(fdPath).Files
If LCase(FSO.GetExtensionName(f.Name)) = "csv" Then
cnt = cnt + 1
ReDim Preserve csvNames(cnt)
csvNames(cnt) = f.Name
End If
Next f
If cnt = 0 Then
ReDim Preserve csvNames(1)
csvNames(0) = "NoCSV"
End If
getCSVList = csvNames
Set FSO = Nothing
End Function
'関数を呼び出すときはこんな感じ
Sub testgetcsvlist()
Dim arr() As String
arr = getCSVList("C:\Users\保存版\2022")
'配列arrに「C:\Users\保存版\2022」というフォルダ内に保存されているCSVファイルの名前のリストが入る
Debug.Print arr(3)
End Sub
コメント