如何防止代码中的任何更改并能够同时查看它? (VBA)

时间:2018-09-17 14:08:41

标签: excel vba excel-vba

有没有机会防止更改代码并同时查看代码? 目的是介绍性的,以便用户可以查看代码而不能进行任何更改。 预先谢谢你

1 个答案:

答案 0 :(得分:0)

这是一个棘手的问题。您可以添加以下三个下标,它将使文件变为只读,并且还阻止任何人保存工作簿,除非他们使用SaveForReal下标/宏。

在ThisWorkbook VBA对象内部:

Private Sub Workbook_Open()
    Application.DisplayAlerts = False
    ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
    Application.DisplayAlerts = True
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ThisWorkbook.Saved = True
    Cancel = True
End Sub

在模块对象内部:

Private Sub SaveForReal()
    Application.EnableEvents = False
    ThisWorkbook.Save
    Application.EnableEvents = True
End Sub

要保存工作簿,您需要打开VBA编辑器并运行SaveForReal下标,否则“保存”按钮和“另存为”按钮不起作用。

编辑:在打开的只读更改中添加。