ファイルが作られた日付時刻の取得方法
顧客とか相手先から何らかの指示データをもらって業務を行う時、指示データが複数ダブってくる場合があり得ます。
この時、どのデータが最初なのか、どのデータが最後なのかを調べる方法として、ファイルが作られた時間を取得する、という手段があります。
手っ取り場合のやり方として、エクスプローラを開き、そのファイルのプロパティを表示してみます。
(ファイルとは、例えていえば固定長テキストファイルとします)
そこには、①作成日時、②更新日時、③アクセス日時、の3つが表示されます。
①作成日時
ファイルが作られた日付時刻なのですが、コピーして作られた時もここに日付時刻が入ります。
つまり厳密なところの、当ファイルがアプリなどにより最後に書き込まれた日付時刻ではありません。
②更新日時
これがアプリとかで書き込まれた日付時刻です。
テキストエディタで手修正して更新すると、ここの更新日時が変わります。
③アクセス日時
ファイルが更新したか、更新していないか、関係なく、開いた日付時刻です。
【重要】つまり、更新日時を取得さえすれば、最新のファイルかどうかの判断が出来ます。
では、どうやって更新日時を取得するのか?
◆FileDateTime関数
ファイル名(フルパス)を与えて関数を実行すると、更新日時が返ってきます。
戻り値は、バリアント型 (内部処理形式 Date型)となっています。つまり日付型です。
dtmFileDate = FileDateTime(strFileName)
◇サンプル例
Function procTest()
Dim strFileName As String
Dim dtmDateTime As Date
strFileName = "C:¥TransRock¥Operand20120805.csv"
dtmDateTime = FileDateTime(strFileName)
MsgBox (dtmDateTime)
End Function
'実行するマクロは・・・
call procTest()