我是想,如果当前文件已被修改且没有保存,则用在关闭时用宏自动做一些数据处理,反正在用户关闭时,Excel本身会提示是否保存的。
但是,如果用户打开文件后啥都没有改,那宏也啥都别做,避免用户关闭时提示是否保存(因为宏改动了数据)。因为正常情况下用户没有改动的话,关闭文件时,Excel是不会提示保存的。
我的问题:宏中用VBA语句来如何判断当前的文件是否有修改且没有保存?(就是说此时用户关闭文件,Excel会提示是否保存)
谢谢!
第1个回答 推荐于2016-09-15
Saved 属性
如果指定工作簿从上次保存至今未发生过更改,则该值为 True。Boolean 类型,可读写。
说明
如果工作簿从未进行保存,则其 Path 属性将返回一空字符串 ("")。
如果要关闭某个已更改的工作簿,但又不想保存它或者不想出现保存提示,则可将此属性设为 True。
示例
本示例检查活动工作簿是否有未保存的更改,如果有,则显示一条信息。
If Not ActiveWorkbook.Saved Then
MsgBox "This workbook contains unsaved changes."
End If
本示例通过将 Saved 属性设为 True 来关闭包含本段代码的工作簿,并放弃对该工作簿的任何更改。
ThisWorkbook.Saved = True
ThisWorkbook.Close本回答被提问者采纳
如果指定工作簿从上次保存至今未发生过更改,则该值为 True。Boolean 类型,可读写。
说明
如果工作簿从未进行保存,则其 Path 属性将返回一空字符串 ("")。
如果要关闭某个已更改的工作簿,但又不想保存它或者不想出现保存提示,则可将此属性设为 True。
示例
本示例检查活动工作簿是否有未保存的更改,如果有,则显示一条信息。
If Not ActiveWorkbook.Saved Then
MsgBox "This workbook contains unsaved changes."
End If
本示例通过将 Saved 属性设为 True 来关闭包含本段代码的工作簿,并放弃对该工作簿的任何更改。
ThisWorkbook.Saved = True
ThisWorkbook.Close本回答被提问者采纳