- 締切済み
EXCELにて、保存した日時を自動的に表示させるには?
EXCELにて、保存した日時を自動的に表示させるには? どのような分を追加すればよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- table_1969
- ベストアンサー率21% (66/302)
ファイル名を保存日時にしてしまうっていうのはどうでしょうか? Sub Macro1() Dim フォルダー As String, 年 As Integer, 月 As String, 日 As String Dim 時 As String, 分 As String, ファイル名 As String フォルダー = Application.DefaultFilePath 年 = Mid(Year(Now()), 1, 4) 月 = Month(Now()) 日 = Day(Now()) 時 = Hour(Now()) 分 = Minute(Now()) ファイル名 = 年 & "年" & 月 & "月" & 日 & "日" & 時 & "_" & 分 ActiveWorkbook.SaveAs FileName:=フォルダー & "\" & ファイル名 MsgBox "ファイル名を最終更新日 " & ファイル名 & " で保存しました。" End Sub
- nishi6
- ベストアンサー率67% (869/1280)
>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