FSO サブフォルダ、ファイルの取得
このコードは、FileSystemObject (FSO) を使用して特定のフォルダ内のサブフォルダとファイルの数を取得し、デバッグ出力に表示する方法を示しています。
' FSO サブフォルダ、ファイルの取得
Private Sub FSO_SubFolders_Files()
' 参照設定「Microsoft Scripting Runtime」必要
With New FileSystemObject
' 以下は、参照設定有無にかかわらず使用可
'With CreateObject("Scripting.FileSystemObject")
' 指定されたパスのFolderオブジェクトを取得
With .GetFolder("C:\TEMP")
' 取得したフォルダ内のサブフォルダの数を出力
Debug.Print .SubFolders.Count
' 取得したフォルダ内のファイルの数を出力
Debug.Print .Files.Count
End With
' 指定されたドライブ("C"ドライブ)のルートフォルダのFolderオブジェクトを取得
With .GetDrive("C").RootFolder
' 取得したフォルダ内のサブフォルダの数を出力
Debug.Print .SubFolders.Count
' 取得したフォルダ内のファイルの数を出力
Debug.Print .Files.Count
End With
End With
End Sub
コードの詳細な説明
- FileSystemObjectの作成:
With New FileSystemObject
ここでは、FileSystemObject
のインスタンスを作成しています。このオブジェクトを使ってファイルシステムにアクセスします。 - 指定されたフォルダオブジェクトの取得:
With .GetFolder("C:\TEMP")
指定されたパス(”C:\TEMP”)のフォルダオブジェクトを取得します。このオブジェクトを使ってフォルダ内のサブフォルダとファイルの情報にアクセスします。 - サブフォルダとファイルの数を出力:
Debug.Print .SubFolders.Count
- SubFolders.Count: フォルダ内のサブフォルダの数を出力します。
Debug.Print .Files.Count
- Files.Count: フォルダ内のファイルの数を出力します。
- 指定されたドライブのルートフォルダオブジェクトの取得:
With .GetDrive("C").RootFolder
指定されたドライブ(”C”ドライブ)のルートフォルダのフォルダオブジェクトを取得します。このオブジェクトを使ってルートフォルダ内のサブフォルダとファイルの情報にアクセスします。 - ルートフォルダのサブフォルダとファイルの数を出力:
Debug.Print .SubFolders.Count
- SubFolders.Count: ルートフォルダ内のサブフォルダの数を出力します。
Debug.Print .Files.Count
- Files.Count: ルートフォルダ内のファイルの数を出力します。
コード全体の動作まとめ
FileSystemObject
を使用して “C:\TEMP” フォルダと “C” ドライブのルートフォルダのオブジェクトを取得します。- それぞれのフォルダ内のサブフォルダとファイルの数を取得し、デバッグ出力に表示します。
このコードを実行すると、”C:\TEMP” フォルダおよび “C” ドライブのルートフォルダに含まれるサブフォルダとファイルの数がデバッグ出力に表示されます。これにより、指定されたフォルダおよびドライブの内容を簡単に確認することができます。