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

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

    Dim fso As FileSystemObject
    Dim folder As Folder
    Dim subFolder 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 subFolder In folder.SubFolders
        lngCount = lngCount + CountPDFFiles(subFolder.Path)
    Next subFolder

    ' 戻り値を設定
    CountPDFFiles = lngCount

    ' オブジェクトの解放
    Set fso = Nothing
End Function

コメント