VBAでフォルダの日時(作成日時、最終アクセス日時、最終更新日時)を取得するには、FileSystemObjectのGetFolderメソッドを使用することで実現できます。
FileSystemObjectは、ファイルシステムオブジェクトを操作するための標準ライブラリであり、ファイルやフォルダの作成や削除、コピー、移動などを簡単に行うことができます。
GetFolderメソッドは、指定したパスのフォルダオブジェクトを取得し、そのフォルダのプロパティにアクセスすることができます。
フォルダの日時情報を取得するには、フォルダオブジェクトのDateCreated、DateLastAccessed、DateLastModifiedプロパティを使用します。
もくじ
フォルダ日時について
ここでは、フォルダが保持している3種類の日時について説明します。
1.フォルダの作成日時(DateCreated)
フォルダが作成された日時を示します。
例えば、新しいフォルダが作成された場合には、その作成日時がこのプロパティに記録されます。
2.フォルダの最終アクセス日時(DateLastAccessed)
フォルダが最後にアクセスされた日時を示します。
例えば、フォルダ内のファイルを読み取ったり、フォルダを開いたりした場合には、そのアクセス日時がこのプロパティに記録されます。
3.フォルダの最終更新日時(DateLastModified)
フォルダの内容が最後に変更された日時を示します。
例えば、新しいファイルをフォルダに追加したり、ファイルを削除したりした場合には、その更新日時がこのプロパティに記録されます。
【サンプルソース】フォルダ日時の取得
以下は、FileSystemObjectのGetFolderを使用してVBAでフォルダ日時を取得するサンプルソースです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Sub GetFolderDateTime() Dim fso As Object Dim folderPath As String Dim folder As Object ' FileSystemObjectを生成 Set fso = CreateObject("Scripting.FileSystemObject") ' フォルダパスを指定 folderPath = "D:\200_work\100_sample\AAA" ' フォルダオブジェクトを取得 Set folder = fso.GetFolder(folderPath) ' フォルダの日時情報を取得 MsgBox "作成日時: " & folder.DateCreated & vbCrLf & _ "最終アクセス日時: " & folder.DateLastAccessed & vbCrLf & _ "最終更新日時: " & folder.DateLastModified ' オブジェクトを解放 Set folder = Nothing Set fso = Nothing End Sub |
上記のサンプルソースでは、まずFileSystemObjectを生成し、調べたいフォルダのパスを指定します。
次に、GetFolderメソッドを使って、調べたいフォルダのフォルダオブジェクトを取得します。
取得したフォルダオブジェクトのプロパティから、作成日時・最終アクセス日時・最終更新日時を取得しています。
注意点としては、調べたいフォルダが存在していないと、エラーが発生します。
また、フォルダのアクセス権限がないとエラーになります。
ご注意ください。
まとめ
VBAを利用して、フォルダの作成日時、最終アクセス日時、最終更新日時を取得する方法を紹介しました。
大量にフォルダ日時を調べる場合、VBAを利用することで簡単に実現することができます。
以上です。
最後まで読んでいただきありがとうございました。
この記事をシェアしていただけると喜びます。