HOME > 即効テクニック > Excel VBA > ファイル操作関連のテクニック > サブフォルダの数を取得する(Foldersコレクション)

サブフォルダの数を取得する(Foldersコレクション)|Excel VBA

ファイル操作関連のテクニック

サブフォルダの数を取得する(Foldersコレクション)

(Excel 2000/2002/2003/2007/2010)

指定したフォルダ内にあるサブフォルダの数を取得します。
FileSystemObjectオブジェクトのGetFolderメソッドでFolderオブジェクトを取得し、SubFoldersプロパティを使用して、Foldersコレクションへの参照を取得します。
Foldersコレクションは、指定したフォルダ内のサブフォルダの集合です。
このコレクションのCountプロパティからサブフォルダの数を取得することができます。
ただし、フォルダのショートカットはカウントの対象外です。

構文 オブジェクト.SubFolders
設定項目 内容
オブジェクト Folderオブジェクト

次のサンプルは、現在作業中のブックがあるフォルダのサブフォルダの数をメッセージボックスに表示します。

●サンプル●

Sub Sample()
    Dim TargetDir As String
    Dim SubCount As Long
    
    TargetDir = ThisWorkbook.Path
    
    With CreateObject("Scripting.FileSystemObject")
        SubCount = .GetFolder(TargetDir).SubFolders.Count
    End With
    
    MsgBox TargetDir & vbCrLf & _
            "に含まれるサブフォルダの数: " & SubCount
End Sub