禁用Excel保存选项,但允许macros保存

我正在创build一个excel文件,我想禁用“保存”和“另存为…”选项。

我在互联网上发现了很多解决scheme,就像VBA中的这个:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox "You can't save this workbook!" Cancel = True End Sub 

它可以防止用户保存更改,但是我无法保存我的更改,这就是问题所在,因为我需要在VBA代码中进行更多的更改。

有没有办法保存我的macros变化? 像pipe理员模式等…?

感谢您的未来答案。

使用全局variables覆盖保存禁用:

  Dim override as Boolean Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) if Not(override) then MsgBox "You can't save this workbook!" Cancel = True end if End Sub Sub SaveMyChanges() override = true ActiveWorkbook.Save override = false End Sub 

您也可以在VBA中以devise模式保存。

对不起,necro,但这也适用于我所做的。