北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

Excel VBA技巧:如何获取文件的最后保存时间?

你是否遇到过这样的情况:

- 不确定 Excel 文件是否被同事修改过?

- 想自动记录工作簿的最后保存时间,方便版本管理?

- 需要检查文件是否最新,避免使用过期数据?


今天,我们就用 Excel VBA 的 `
workbook.BuiltinDocumentProperties("Last Save Time")` 来解决这个问题!

什么是 "Last Save Time"?


Excel 文件自带 内置文档属性(Built-in Document Properties),其中包括:

- 标题(Title)

- 作者(Author)

- 创建日期(Creation Date)

- 最后保存时间(Last Save Time)

`Last Save Time` 就是 Excel 文件最后一次被保存的时间戳,我们可以用 VBA 轻松获取它!



如何用 VBA 获取最后保存时间?

基础代码(直接获取)//直接获取最后保存时间

Sub GetLastSaveTime()
Dim wb As Workbook
Dim lastSaveTime As Variant

Set wb = ActiveWorkbook ' 当前活动工作簿

On Error Resume Next ' 防止报错
lastSaveTime = wb.BuiltinDocumentProperties("Last Save Time")
On Error GoTo 0 ' 恢复错误处理

If IsEmpty(lastSaveTime) Then
MsgBox "无法获取最后保存时间!", vbExclamation
Else
MsgBox "最后保存时间: " & lastSaveTime, vbInformation
End If
End Sub


进阶应用(自动记录到单元格)

如果你想在 Excel 里自动记录最后修改时间,可以这样写:

Sub RecordLastSaveTime()
Dim wb As Workbook
Dim lastSaveTime As Variant

Set wb = ThisWorkbook ' 当前代码所在的工作簿

On Error Resume Next
lastSaveTime = wb.BuiltinDocumentProperties("Last Save Time")
On Error GoTo 0

If Not IsEmpty(lastSaveTime) Then
' 在 A1 单元格记录最后保存时间
wb.Sheets("Sheet1").Range("A1").Value = "最后修改时间: " & lastSaveTime
End If
End Sub


适用场景:

- 自动生成文件版本日志

- 检查文件是否最新版本


扩展应用:自动备份提醒

如果文件超过 7 天未保存,就弹出提醒:


Sub CheckIfFileIsOld()
Dim wb As Workbook
Dim lastSaveTime As Date
Dim daysSinceLastSave As Long

Set wb = ActiveWorkbook

On Error Resume Next
lastSaveTime = wb.BuiltinDocumentProperties("Last Save Time")
On Error GoTo 0

If IsEmpty(lastSaveTime) Then Exit Sub

daysSinceLastSave = DateDiff("d", lastSaveTime, Now)

If daysSinceLastSave > 7 Then
MsgBox "警告:该文件已超过 7 天未保存!建议备份!", vbExclamation
End If
End Sub


适用场景:

- 长期未更新的数据文件提醒

- 重要文档自动备份检查


注意事项

1. 文件未保存时可能返回空值(新文件第一次保存前无法获取)。

2. 不同 Excel 版本支持情况可能不同(`.xls` 和 `.xlsx` 可能有差异)。

3. 只读文件可能无法获取最新时间(建议检查文件是否被锁定)。


`wb.BuiltinDocumentProperties("Last Save Time")`

获取最后保存时间

`DateDiff("d", lastSaveTime, Now)`

计算多久未修改

`Sheets("Log").Range("A1").Value = lastSaveTime`

自动记录修改时间


如果觉得有用,别忘了 点赞 + 收藏,关注我,获取更多Excel VBA高效编程技巧!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言