我在Windows 7 Professional安装程序上使用Excel 2003。
在我的Personal.xls文件中,我编译了我从不同地方获取的代码/公式片段,以便在我使用Excel时可供参考。它们包含许多易失性函数,例如cell()
,rand()
,today()
等。因此,当我关闭Excel时,它会询问我是否要保存Personal.xls。
我想保持我的Personal.xls不变,然后以某种方式禁用弹出窗口。无论如何,我都可以保存,而不是保存,因为我不会更改Personal.xls。
我在Workbook_BeforeClose
部分
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub
但它似乎不起作用。我尝试了一些变体,包括.Save
和.Saved=True
,并尝试使用ThisWorkbook.
,Me.
& Workbooks("PERSONAL.xls")
。但是,Excel仍然要求保存Personal.xls
我还尝试在Personal.xls中禁用计算。
Private Sub Workbook_Open()
For Each ws In ThisWorkbook.Worksheets
ws.EnableCalculation = False
Next
End Sub
这也没有解决问题。最后,我尝试在将计算模式更改为手动后执行'ThisWorkbook.Save',但这也不会改变任何内容。
我在这里遗漏了什么吗?任何意见,将不胜感激。提前谢谢!
答案 0 :(得分:0)
你想:
Me.Save
在您的工作簿BeforeClose事件中。
答案 1 :(得分:0)
我不确定这是否会对你有所帮助,但我已经尝试过跑步,我可以保存..请不要投票,它确实适合你。
我只是删除取消为布尔值
Private Sub Workbook_BeforeClose()
ThisWorkbook.Save
End Sub
答案 2 :(得分:0)
为什么不仅仅强制关闭文档?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Close savechanges:=True
End Sub
实际上,我实际上正在使用savechanges:=False
。两种方法都有效。