本ページには広告が含まれています。

VBA FileDateTime 関数 ファイルの更新日時を取得

VBA FileDateTime 関数 ファイルの最終更新日時を取得

Excel VBAの「FileDateTime 関数」について解説します。

スポンサーリンク

FileDateTime 関数とは

Excel VBA の FileDateTime 関数は、指定したファイルの最終更新日時を示す Variant(Date) を返します。最初に保存した作成日時以降更新が無ければ「作成日時」、更新されていた場合は「最終更新日時」が返されます。

この関数を使用することで、ファイルが最後に更新されたのはいつなのかを確認することができます。

FileDateTime 関数の構文や引数の設定と実際の使い方について具体的に解説していきたいと思います。

FileDateTime 関数(Visual Basic for Applications リファレンス)

構文(引数と戻り値)

Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。

構文

FileDateTime(pathname)

引数

引数 説明
pathname【必須】ファイルを示す文字列式を指定します
フォルダ名およびドライブ名を含めることができます
スクロールできます

戻り値

戻り値説明
日時を示す値
Variant(Date)
指定したファイルの最終更新日時が返ります
日時形式はシステムのロケール設定に基づきます
スクロールできます

解説(使用例)

FileDateTime 関数の使い方について、サンプルを使って解説します。

FileDateTime 関数サンプル

FileDateTime 関数の基本的な使い方をサンプルで確認しましょう。

ファイルの最終更新日時を取得する基本的な例

'■FileDateTime関数使用例1(基本的な例)
Sub FileDateTime_Sample01()
    Dim filePath As String
    Dim fileDate As Date
    
    ' 対象のファイルパスを指定
    filePath = "C:\VBA_test\bas\Module1.bas"
    ' FileDateTime関数でファイルの最終更新日時を取得
    fileDate = FileDateTime(filePath)
    ' 取得した日時情報を表示
    MsgBox "ファイルの最終更新日時は: " & fileDate
End Sub
VBA

このVBAコードを実行すると、指定したファイルの最終更新日時が MsgBox に表示されます。

FileDateTimer_Sample01 実
行で表示されるメッセージ画像

【コードの補足説明】

・7行目、ファイルのパスを変数に格納します。

・9行目、FileDateTime 関数を使用して指定されたファイルの最終更新日時を取得して変数に格納します。

・11行目、MsgBox に取得したファイルの最終更新日時を表示します。

【注意点】

・ファイルパスが存在しない場合、実行時エラーが発生しコードが途中で中断します。

エラーハンドリングを追加したコード例

前のコードに簡単なエラーハンドリングを追加した例がこちらです。

'■FileDateTime関数使用例2(エラーハンドリングの例)
Sub FileDateTime_Sample02()
    Dim filePath As String
    Dim fileDate As Date
    
    ' エラーハンドリングを開始
    On Error GoTo ErrorHandler
    
    ' 対象のファイルパスを指定
    filePath = "C:\VBA_Errortest\bas\Module1.bas"
    ' FileDateTime関数でファイルの最終更新日時を取得
    fileDate = FileDateTime(filePath)
    ' 取得した日時情報を表示
    MsgBox "ファイルの最終更新日時は: " & fileDate
    
    Exit Sub
ErrorHandler:
    MsgBox "実行時エラー '" & Err.Number & "': " & vbCrLf & _
                Err.Description, vbCritical, "FileDateTime Error"
End Sub
VBA

エラーが発生した場合は、ErrorHandler: 以下に設定したコードが実行され、次のようにエラー内容についてのメッセージを表示します。

FileDateTimer_Sample02 実
行時エラーで表示されるメッセージ画
像

おわりに

Excel VBA の FileDateTime 関数は、ファイルの最終更新日時を簡単に取得できる便利な関数です。この関数を使うことで、ファイル管理がより効率的になります。

ファイルのタイムスタンプ情報は「作成日時」「更新日時」「アクセス日時」の3種類があります。

FileDateTime 関数が取得する情報は最新の「更新日時」です。「作成日時」以降に更新が無い場合は「作成日時」と「更新日時」は同一です。

「作成日時」を直接取得するためには API または FileSystemObject を使用する必要があります。以下に FileSystemObject を利用して作成日時を取得するサンプルを示しておきます。

'■作成日時を取得するサンプル(FileSystemObject使用例)
Sub FileCreationDate_Sample()
    Dim fso As Object
    Dim filePath As String
    Dim fileCreateDate As Date

    On Error GoTo ErrorHandler  ' エラーハンドリング

    ' FileSystemObjectを作成
    Set fso = CreateObject("Scripting.FileSystemObject")

    ' 対象のファイルパスを指定
    filePath = "C:\VBA_test\bas\Module1.bas"

    ' ファイルの作成日時情報を取得
    fileCreateDate = fso.GetFile(filePath).DateCreated

    ' 取得した作成日時を表示
    MsgBox "ファイルの作成日時は: " & fileCreateDate
    Exit Sub

ErrorHandler:
    MsgBox "実行時エラー '" & Err.Number & "': " & vbCrLf & _
                Err.Description, vbCritical, "FileCriateDate Error"
End Sub
VBA

タイムスタンプ関連で参考になる過去の記事は以下のとおりです。

以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;

VBAの関数一覧はこちらからご参照ください。

スポンサーリンク
スポンサーリンク

VBAサンプルファイルダウンロードページのご案内

このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。

ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!