>EXCELにて、保存した日時を自動的に表示させるには?
の意味は、あるExcel Bookを開いていて、そのBookを保存した日時を、そのシート上に表示するという意味ですよね?
最初は、
= FileDateTime(ThisWorkbook.Path & "\" & ThisWorkbook.Name)
で簡単に出ると思ったのですが、Book自身のFileDateTimeを見に行くとそれを呼び出した時刻が帰ってくるようです。
他のファイルなら保存した時刻なんですが・・・・・???
そこで、次のようにしてみました。
Auto_Openにしているのは、Application.Volatileが効かないみたいで再計算してくれないからです。
ユーザー定義関数ではThisWorkbookの組込プロパティーを使っています。『Last save time』の番号が分からない(決まってる?)ので回りくどいですが、照合しています。
例としてセルA1に表示します。開いている時に保存したら、ファンクションキーF9で再計算させます。
他の回答を見たいですね・・・・・・
標準モジュールに貼り付けます。
Sub Auto_Open()
Range("A1").Formula = "= GetHozonYMD()"
End Sub
Public Function GetHozonYMD()
Dim idx
Dim ThisWkBookYMD As String
Application.Volatile
With ThisWorkbook.BuiltinDocumentProperties
For idx = 1 To .Count
With .Item(idx)
If .Name = "Last save time" Then
ThisWkBookYMD = .Value
End If
End With
Next
End With
GetHozonYMD = Format(ThisWkBookYMD, "yyyy/mm/dd h:mm:ss")
End Function