ray88’s diary

お仕事で困ったとき用の自分用の覚書

VBA 指定したパス内のサブフォルダの総数を返す

■指定したパスのフォルダ内のサブフォルダをカウントし、総件数を返す
呼び出し元プロシージャ

Sub subFolderCount()
    Dim strPath As String
    Dim intSubFoldersCount As Integer    
    strPath = "C:\Users\デスクトップ\テスト"
    intSubFoldersCount = getSubFolderCount(strPath)
    MsgBox intSubFoldersCount   
End Sub

ファンクションプロシージャ

Function getSubFolderCount(strParentFolderPath As String) As Integer
'-------------------------------------------------------------
'機能:指定したパスのフォルダに存在するサブフォルダの総数を返す
'引数1:サブフォルダ数を確認したい対象の親フォルダのパス
'-------------------------------------------------------------
Dim FSO As Object
Dim subFolders As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set subFolders = FSO.GetFolder(strParentFolderPath).subFolders
    getSubFolderCount = subFolders.Count
End Function