たま氏の覚え書き

KNIME・AccessVBA・Swift等、学習したことを覚え書き

AccessVBA_FileSystemObjectその4_【Folderオブジェクト】【GetFolder】フォルダの情報の取得・設定

FSOを使用して指定したフォルダの情報を得る・操作する方法

Folderオブジェクトの取得

FSOの【GetFolder】メソッドを使用

書式:
オブジェクト.GetFolder("フォルダのパス")

▼記述例▼

  Dim FSO As New FIleSystemObject '外部のオブジェクトの参照を格納
  Dim FolderInfo As Folder '情報を取得したいフォルダを格納するための変数を作成
  Set FolderInfo = FSO.GetFolder("C:\Users\user\Desktop\tama-shi") 'Folderオブジェクトのインスタンスを生成


Folderオブジェクトのプロパティ

Attributes フォルダの属性を取得・設定
Name フォルダの名前を取得・設定
Path フォルダのパス
Drive フォルダが存在しているドライブ名を取得
Files フォルダ内のファイル全部を取得
SubFolders フォルダ内のサブフォルダ全部を取得
Size フォルダ内にあるすべてのファイル・サブフォルダの合計サイズ
 
DateCreated フォルダ作成日時
DateLastAccessed フォルダに最後にアクセスされた日時
DateLastModified フォルダが最後に更新された日時

 他

Folderオブジェクトのメソッド

CreateTextFile テキストファイルを新規作成※復習記事作成予定
Copy フォルダをコピー
Move フォルダを移動
Delete フォルダを削除

【実践】フォルダの情報を得る記述例

Folderオブジェクトのプロパティ使用して、フォルダ「tama-shi」の情報を取得してみる

▼記述例▼

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


▼処理結果▼