FSO Folder クラスのメンバー

このコードは、FileSystemObject (FSO) を使用して特定のフォルダ(ここでは “C:\TEMP”)の情報を取得し、それらの情報をデバッグ出力に表示する方法を示しています。

' FSO Folder クラスのメンバー
Private Sub FSO_Folder_Class()
    ' 参照設定「Microsoft Scripting Runtime」必要
    'With New FileSystemObject
    ' 以下は、参照設定有無にかかわらず使用可
    With CreateObject("Scripting.FileSystemObject")
        With .GetFolder("C:\TEMP")
        ' 指定されたドライブ(“C”)のDriveオブジェクトを取得
            Debug.Print .Name
            ' フォルダの名前を出力
            Debug.Print .Path
            ' フォルダのパスを出力
            Debug.Print .Drive.Path
            ' フォルダが存在するドライブのパスを出力
            Debug.Print .ParentFolder.Path
            ' 親フォルダのパスを出力
            Debug.Print .DateCreated
            ' フォルダの作成日時を出力
            Debug.Print .DateLastAccessed
            ' フォルダの最終アクセス日時を出力
            Debug.Print .DateLastModified
            ' フォルダの最終更新日時を出力
            Debug.Print .Attributes
            ' フォルダの属性を出力
                '値     属性
                '0      標準ファイル
                '1      読み取り専用ファイル
                '2      隠しファイル
                '4      システムファイル
                '8      ディスクドライブボリュームラベル (取得のみ可能)
                '16     フォルダまたはディレクトリ (取得のみ可能)
                '32     アーカイブファイル
                '64     リンクまたはショートカット (取得のみ可能)
                '128    圧縮ファイル (取得のみ可能)
            Debug.Print .IsRootFolder
            ' フォルダがルートフォルダかどうかを出力
            Debug.Print .Size
            ' フォルダのサイズを出力
            Debug.Print .Type
            ' フォルダの種類を出力
            ' ファイル フォルダー
            
        End With
    End With
End Sub

コードの詳細な説明

  1. FileSystemObjectの作成:With CreateObject("Scripting.FileSystemObject")
    ここでは、FileSystemObject のインスタンスを作成しています。このオブジェクトを使ってファイルシステムにアクセスします。
  2. フォルダオブジェクトの取得:With .GetFolder("C:\TEMP")
    指定されたパス(”C:\TEMP”)のフォルダオブジェクトを取得します。このオブジェクトを使ってフォルダのプロパティにアクセスします。
  3. フォルダの情報を取得して出力:Debug.Print .Name
    • Name: フォルダの名前を出力します。
    Debug.Print .Path
    • Path: フォルダのパスを出力します。
    Debug.Print .Drive.Path
    • Drive.Path: フォルダが存在するドライブのパスを出力します。
    Debug.Print .ParentFolder.Path
    • ParentFolder.Path: 親フォルダのパスを出力します。
    Debug.Print .DateCreated
    • DateCreated: フォルダの作成日時を出力します。
    Debug.Print .DateLastAccessed
    • DateLastAccessed: フォルダの最終アクセス日時を出力します。
    Debug.Print .DateLastModified
    • DateLastModified: フォルダの最終更新日時を出力します。
    Debug.Print .Attributes
    • Attributes: フォルダの属性を出力します。属性の値とその意味は以下の通りです:
      • 0: 標準ファイル
      • 1: 読み取り専用ファイル
      • 2: 隠しファイル
      • 4: システムファイル
      • 8: ディスクドライブボリュームラベル(取得のみ可能)
      • 16: フォルダまたはディレクトリ(取得のみ可能)
      • 32: アーカイブファイル
      • 64: リンクまたはショートカット(取得のみ可能)
      • 128: 圧縮ファイル(取得のみ可能)
    Debug.Print .IsRootFolder
    • IsRootFolder: フォルダがルートフォルダかどうかを出力します。ルートフォルダであれば True、そうでなければ False になります。
    Debug.Print .Size
    • Size: フォルダのサイズを出力します。フォルダ内の全ファイルの合計サイズです。
    Debug.Print .Type
    • Type: フォルダの種類を出力します。通常は “ファイル フォルダー” という文字列が出力されます。

このコードを実行すると、”C:\TEMP” フォルダに関する様々な情報が取得され、デバッグ出力に表示されます。これにより、フォルダの名前、パス、ドライブ情報、作成日時、最終アクセス日時、最終更新日時、属性、サイズ、種類などが確認できます。

Follow me!