禁用Excel保存选项但允许宏保存

时间:2015-06-12 15:17:33

标签: excel vba excel-vba save

我正在创建一个excel文件,我想禁用“保存”#39;并且'另存为...'选项。

我在互联网上找到了很多解决方案,比如VBA中的这个解决方案:

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

它阻止用户保存更改,但我无法保存更改,这是因为我需要对VBA代码进行更多更改。

有没有办法保存我的宏观更改?像管理员模式等...?

感谢您将来的答案。

2 个答案:

答案 0 :(得分:2)

使用全局变量覆盖保存禁用:

    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

答案 1 :(得分:0)

您也可以在VBA的设计模式下保存。

对于死灵,对不起,但这也是我的工作。