FSOを使用して指定したフォルダの情報を得る・操作する方法 FSOの【GetFolder】メソッドを使用 ▼記述例▼ ・Attributes フォルダの属性を取得・設定 他 ・CreateTextFile テキストファイルを新規作成※復習記事作成予定 Folderオブジェクトのプロパティ使用して、フォルダ「tama-shi」の情報を取得してみる
Folderオブジェクトの取得
書式:
オブジェクト.GetFolder("フォルダのパス") Dim FSO As New FIleSystemObject '外部のオブジェクトの参照を格納
Dim FolderInfo As Folder '情報を取得したいフォルダを格納するための変数を作成
Set FolderInfo = FSO.GetFolder("C:\Users\user\Desktop\tama-shi") 'Folderオブジェクトのインスタンスを生成
Folderオブジェクトのプロパティ
・Name フォルダの名前を取得・設定
・Path フォルダのパス
・Drive フォルダが存在しているドライブ名を取得
・Files フォルダ内のファイル全部を取得
・SubFolders フォルダ内のサブフォルダ全部を取得
・Size フォルダ内にあるすべてのファイル・サブフォルダの合計サイズ
・DateCreated フォルダ作成日時
・DateLastAccessed フォルダに最後にアクセスされた日時
・DateLastModified フォルダが最後に更新された日時Folderオブジェクトのメソッド
・Copy フォルダをコピー
・Move フォルダを移動
・Delete フォルダを削除【実践】フォルダの情報を得る記述例
▼記述例▼Sub Test_Folder()
Dim FSO As New FIleSystemObject '外部のオブジェクトの参照を格納
Dim FolderInfo As Folder '情報を取得したいフォルダを格納するための変数を作成
Dim inFile As File 'フォルダ内のファイルを格納するための変数を作成
Dim FPath As String 'ファイルのパスを格納するための変数を作成
Dim Msg As String '結果報告用の変数を作成
FPath = "C:\Users\user\Desktop\tama-shi"
Set FolderInfo = FSO.GetFolder(FPath) 'Folderオブジェクトのインスタンスを生成
For Each inFile In FolderInfo.Files 'Folderオブジェクトのプロパティ「Files」
Msg = Msg & inFile.Name & vbCrLf
Next
Debug.Print "フォルダ「tama-shi」の中身は…" & vbCrLf & Msg
Set FolderInfo = Nothing '念のため参照を解除
Set FSO = Nothing '念のため参照を解除
End Sub
▼処理結果▼