问:使用Excel时,如果工作表被修改但未保存,关闭工作簿时会出现如下所示的消息框。在任何情况下关闭工作簿时,您能避免出现此提示框吗?
答:我们知道,在VBA,可以使用Close方法关闭工作簿。例如,以下语句关闭当前工作簿:
此工作簿。关闭
但是,如果工作簿在上次保存后被修改,则会弹出上所示的对话框。
以下四种方法可以避免关闭工作簿时显示的对话框。
方法1:在关闭工作簿之前保存它。
在Workbook_BeforeClose事件中,输入以下代码:
私有子工作簿_关闭前(取消为布尔值)
此工作簿。救援
此工作簿。关闭
末端接头
方法2:设置Close方法的参数值。
如以下代码所示:
私有子工作簿_关闭前(取消为布尔值)
此工作簿。关闭保存更改:=真
末端接头
此时,对工作簿所做的更改将在工作簿关闭时保存。
当然,如果参数SaveChanges设置为False,则关闭工作簿时不会出现消息框,但同时,工作簿上次保存后所做的修改将会丢失。
方法3:屏蔽警告消息框。
将“显示警报”属性设置为“假”,以阻止Excel弹出的警告消息。代码如下:
私有子工作簿_关闭前(取消为布尔值)
申请。显示警报=假
此工作簿。关闭
末端接头
请注意,在这种情况下,上次保存后对工作簿所做的任何更改都不会被保存。
方法4:设置Saved属性。
如以下代码所示:
私有子工作簿_关闭前(取消为布尔值)
此工作簿。保存=真
此工作簿。关闭
末端接头
将工作簿的“已保存”属性设置为“真”,以告知工作簿不需要保存。请注意,上次保存后对工作簿所做的更改将不会被保存。
总结
上述所有方法都可以避免Excel信息框的出现,但是使用后两种方法时要小心,尤其是想要保存对工作簿所做的修改时,以防重要信息没有保存。