ファイルの情報を取得

ファイルのプロパティ情報を取得します。
作成日時、更新日時、アクセス日時、ファイルサイズを取得します。
ファイルが更新されているか確認する際などに、ファイルの情報を取得することがあります。

【サンプルプログラム】

' ファイル情報を格納する構造体(Type)
Type FileInfo
    LastModified As Date
    LastCreated As Date
    LastAccessed As Date
    FileSize As Long
End Type

Sub SampleProgram()
    Dim file_data_info As FileInfo

    file_data_info = GetFileDateInfo("C:\ExcelVBA\ファイルの情報を取得\Sample.mp4")

    MsgBox "作成日時 : " & file_data_info.LastCreated & vbCrLf & _
            "更新日時 : " & file_data_info.LastModified & vbCrLf & _
            "アクセス日時 : " & file_data_info.LastAccessed & vbCrLf & _
            "ファイルサイズ : " & file_data_info.FileSize & " byte", _
            vbInformation
End Sub

【関数化】

' ------------------------------------------------------------
' 説明:ファイルのパスを指定して、ファイルの作成日時等とファイルサイズを取得します
' 引数:1:画像ファイルのパス
' 戻値:取得したファイル情報の格納された構造体(Type)
' ------------------------------------------------------------
Function GetFileDateInfo(filename As String) As FileInfo

    Dim fso As Scripting.FileSystemObject
    Dim objFile As File
    
    Dim file_data_info As FileInfo
    
    Set fso = New Scripting.FileSystemObject
    Set objFile = fso.GetFile(filename)
    
    file_data_info.LastModified = objFile.DateCreated
    file_data_info.LastCreated = objFile.DateLastModified
    file_data_info.LastAccessed = objFile.DateLastAccessed
    file_data_info.FileSize = objFile.Size
    
    Set fso = Nothing
    Set objFile = Nothing

    GetFileDateInfo = file_data_info

End Function

【補足】

Scripting.FileSystemObject を使用しています。
初期設定では、エラーが発生するので、参照設定「Microsoft Scripting Runtime」の設定が必要です。


【修正】
2024/11/16 戻り値に構造体(Type)を使用。サンプルプログラムを追加。

コメント