概要
FileDateTime
関数は、VBAで指定したファイルの作成日時や最終更新日時を取得するための関数です。ファイルの監視やメンテナンス、バックアップ処理など、ファイルの日付情報が必要なシナリオで役立ちます。この関数を使用することで、ファイルがいつ作成されたか、または最終的にいつ更新されたかを簡単に知ることができます。
構文
FileDateTime(pathname)
パラメータ
-
pathname
日付と時刻を取得する対象のファイルのフルパスまたは相対パスを指定します。
戻り値
- ファイルの作成日時または最終更新日時を日付と時刻の形式(例: “2024/09/25 14:30:00”)で返します。
使用例
基本的な使用例 - ファイルの最終更新日時を取得する
以下の例では、指定したテキストファイルの最終更新日時を取得し、メッセージボックスで表示します。
Sub ShowFileDateTime()
Dim filePath As String
Dim fileDate As String
' ファイルのパスを指定
filePath = "C:\Example\sample.txt"
' ファイルの最終更新日時を取得
fileDate = FileDateTime(filePath)
' 日付と時刻を表示
MsgBox "ファイルの最終更新日時は: " & fileDate
End Sub
この例では、FileDateTime
関数を使用して、指定したファイルの更新日時を取得しています。結果はメッセージボックスで表示されます。
ファイルが存在するか確認してから日時を取得する
ファイルが存在しない場合、FileDateTime
関数はエラーを引き起こします。次の例では、Dir
関数を使用してファイルの存在を確認してから日時を取得する処理を行います。
Sub SafeFileDateTime()
Dim filePath As String
Dim fileDate As String
' ファイルのパスを指定
filePath = "C:\Example\sample.txt"
' ファイルが存在するか確認
If Dir(filePath) <> "" Then
' ファイルの最終更新日時を取得
fileDate = FileDateTime(filePath)
MsgBox "ファイルの最終更新日時は: " & fileDate
Else
MsgBox "指定されたファイルが存在しません。"
End If
End Sub
この例では、Dir
関数でファイルの存在を確認してからFileDateTime
を使用するため、エラーを防ぐことができます。
フォルダ内のすべてのファイルの更新日時を取得する
次のコードでは、指定したフォルダ内のすべてのファイルの最終更新日時を取得し、結果をDebug.Print
で出力します。
Sub ListFilesWithDateTime()
Dim folderPath As String
Dim fileName As String
' フォルダのパスを指定
folderPath = "C:\Example\"
' フォルダ内の最初のファイルを取得
fileName = Dir(folderPath & "*.*")
' フォルダ内のすべてのファイルを処理
Do While fileName <> ""
' ファイルの最終更新日時を取得して表示
Debug.Print fileName & ": " & FileDateTime(folderPath & fileName)
' 次のファイルを取得
fileName = Dir
Loop
End Sub
このコードは、指定されたフォルダ内のすべてのファイルの最終更新日時を順に表示します。Dir
関数を使用して、フォルダ内のすべてのファイルを取得し、各ファイルの日時情報を取得します。
エラーハンドリング付きの例
ファイルが存在しない場合やアクセス権限がない場合、FileDateTime
関数はエラーを引き起こすため、エラーハンドリングを実装することが重要です。
Sub SafeFileDateTimeWithErrorHandling()
Dim filePath As String
Dim fileDate As String
filePath = "C:\Example\sample.txt"
On Error GoTo ErrorHandler
' ファイルの最終更新日時を取得
fileDate = FileDateTime(filePath)
MsgBox "ファイルの最終更新日時は: " & fileDate
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました。ファイルのパスが正しいか、アクセス権限を確認してください。"
End Sub
このコードは、On Error GoTo
文を使用して、エラー発生時にユーザーにメッセージを表示し、適切な対応ができるようにしています。
まとめ
FileDateTime
関数は、VBAでファイルの作成日や最終更新日時を取得するのに非常に便利な関数です。ファイル管理や更新状況の確認、バックアップなどの処理で有用です。使用する際は、ファイルの存在確認やエラーハンドリングを行うことで、安全かつ効率的に日付情報を取得できます。