指定されたフォルダ内の特定の拡張子を持つファイルの数をカウント

Function fncCountFilesByExtension(ByVal strFolderPath As String, ByVal strExtension As String) As Long
    ' 指定されたフォルダ内の特定の拡張子を持つファイルの数をカウントする
    Dim fso As Scripting.FileSystemObject
    Dim fld As Scripting.Folder
    Dim fle As Scripting.File
    Dim lngCount As Long
    
    ' FileSystemObjectのインスタンスを作成
    Set fso = New Scripting.FileSystemObject
    Set fld = fso.GetFolder(strFolderPath)
    
    ' フォルダ内の全ファイルをループし、指定した拡張子のファイルの数をカウント
    For Each fle In fld.Files
        If LCase(fso.GetExtensionName(fle.Name)) = LCase(strExtension) Then
            lngCount = lngCount + 1
        End If
    Next fle
    
    ' カウントした数を返す
    fncCountFilesByExtension = lngCount
    
    ' オブジェクトの解放
    Set fld = Nothing
    Set fso = Nothing
End Function

コメント