ray88’s diary

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

VBA ファイルシステムオブジェクト Folderオブジェクト①

VBA FileSystemObjectの主なプロパティとメソッド - ray88’s diary
VBA ファイルシステムオブジェクト・GetFolder - ray88’s diary
VBA ファイルシステムオブジェクト Folderオブジェクト②(主なプロパティ) - ray88’s diary
VBA ファイルシステムオブジェクト Folderオブジェクト③主なメソッド - ray88’s diary

メンバー 読取専用 説明
Function Add(Name As String) As Folder FolderコレクションにNameで表すフォルダを追加する
Property Count As Long コレクションに含まれるオブジェクトの数
Property Item(key) As Drive 既定のメンバー コレクションの要素のうちKeyで参照される単一のオブジェクト

■サンプルコード①(Item/Count)

Sub test()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Dim myPath As String: myPath = "C:\Users\デスクトップ\ExcelVBAプロジェクト\FSOテスト"
       
    With FSO
        Dim myFolders As Object: Set myFolders = .GetFolder(myPath).SubFolders
        Debug.Print myFolders.Item("hoge").Name 'hoge
        Debug.Print myFolders("fuga").Name 'fuga
        Debug.Print myFolders.Count '3
        Dim myFolder As Object
        For Each myFolder In myFolders
            Debug.Print myFolder.Name
        Next myFolder
    End With
    
    Set FSO = Nothing
End Sub

f:id:ray88:20210725121027p:plain
■サンプルコード②(Add)

Sub test()
    Dim FSO As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Dim myPath As String: myPath = "C:\Users\デスクトップ\ExcelVBAプロジェクト\FSOテスト"       
    With FSO
        Dim myFolders As Object: Set myFolders = .GetFolder(myPath).SubFolders
        myFolders.Add "piyo"
        .CreateFolder myPath & "\foo"
    End With    
    Set FSO = Nothing
End Sub

f:id:ray88:20210725121554p:plain