【VBA】指定したフォルダ配下のフォルダ数を取得する

VBAで
 ・指定したフォルダ配下の
 ・フォルダ数を取得
できます!

PR

VBAコード

ここでは例として、
 ・デスクトップにあるフォルダ「test」配下の
 ・フォルダ数を取得
します。

フォルダ「test」
フォルダ「test」
フォルダ「test」配下にはフォルダが5つある
フォルダ「test」配下にはフォルダが5つある
Option Explicit

Sub sample()
    
    Dim targetFolder As String
    Dim fso As Object
    Dim folderCount As Long

    '対象フォルダ
    targetFolder = "C:\Users\user\Desktop\test"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'フォルダ数を取得
    folderCount = fso.GetFolder(targetFolder).SubFolders.Count
    
    MsgBox ("フォルダ数 : " & folderCount)
    
    '後片付け
    Set fso = Nothing
    
End Sub

「対象フォルダ」を指定します(10行目)。

「FileSystemObject」の「GetFolder」メソッドにより、「Folderオブジェクト」を取得します(15行目)。

「Folderオブジェクト」の「SubFolders」プロパティにより、「Foldersコレクション」を取得します(15行目)。

「Foldersコレクション」の「Count」プロパティにより、フォルダ数を取得します(15行目)。

PR

実行結果

VBAで
 ・指定したフォルダ配下の
 ・フォルダ数を取得
できました。

PR

参考①

フォルダ一覧の取得もできます。

詳細は以下の記事をご確認ください。

PR

参考②

ファイル数の取得もできます。

詳細は以下の記事をご確認ください。

PR

参考③

フォルダ数を取得する前に、対象フォルダの存在有無を確認した方が良いかもです。

フォルダの存在有無の確認方法は、以下の記事をご確認ください。

PR

参考④

上記のコードで使用した以下の詳細は、公式サイトをご確認ください。

●「FileSystemObject」の「GetFolder」メソッド


●「Folderオブジェクト」の「SubFolders」プロパティ


●「Foldesコレクション」


●「コレクション」の「Count」プロパティ