定されたフォルダ内のPDFファイルの個数をカウントする(サブフォルダ含む)

' 機能概要: 指定されたフォルダ内のPDFファイルの個数をカウントする(サブフォルダ含む)
' 引数: strFolderPath - フォルダのパス
' 戻り値: PDFファイルの個数

Function fncCountPDFs(strFolderPath As String) As Long
    Dim fso As FileSystemObject
    Dim folder As Folder
    Dim file As file
    Dim lngCount As Long
    
    Set fso = New FileSystemObject
    Set folder = fso.GetFolder(strFolderPath)
    lngCount = 0

    ' 指定されたフォルダ内のPDFファイルをカウント
    For Each file In folder.Files
        If LCase(fso.GetExtensionName(file.Name)) = "pdf" Then
            lngCount = lngCount + 1
        End If
    Next file

    ' サブフォルダを再帰的に処理
    For Each folder In folder.SubFolders
        lngCount = lngCount + fncCountPDFs(folder.Path)
    Next folder

    fncCountPDFs = lngCount
    Set folder = Nothing
    Set fso = Nothing
End Function

コメント