自动保存Personal.xls

时间:2012-03-23 13:42:32

标签: excel excel-vba excel-2003 vba

我在Windows 7 Professional安装程序上使用Excel 2003。 在我的Personal.xls文件中,我编译了我从不同地方获取的代码/公式片段,以便在我使用Excel时可供参考。它们包含许多易失性函数,例如cell()rand()today()等。因此,当我关闭Excel时,它会询问我是否要保存Personal.xls。

我想保持我的Personal.xls不变,然后以某种方式禁用弹出窗口。无论如何,我都可以保存,而不是保存,因为我不会更改Personal.xls。

我在Workbook_BeforeClose部分

中的personal.xls中尝试了以下代码
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',但这也不会改变任何内容。

我在这里遗漏了什么吗?任何意见,将不胜感激。提前谢谢!

3 个答案:

答案 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。两种方法都有效。