如何使用 VBA 禁用另存为 Excel 97-2003 以防止绕过 salt?

How to Disable Save As Excel 97-2003 using VBA to prevent bypassing salt?

我想禁用将工作簿(特别是)保存到 Excel 97-2003 工作簿的可能性。所以用户无法禁用office 2013中引入的更强的保护盐,轻松破解密码。

如果他们可以创建自己的文件(无论如何他们都可以复制数据),这是不可能的。

但是如果您要向他们提供文件,您可以将其作为 xlsm 提供给他们并阻止他们执行另存为。把这个放在 ThisWorkbook:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI Then Cancel = True
End Sub