保护工作簿,但允许通过代码进行更改
我正在寻找与以下语句相同的内容,但对于工作簿保护:
Worksheet.Protect "Password", UserInterfaceOnly := True
所以我不希望用户篡改工作簿,但通过代码更改是好的。
这是不可能的,因为Workbook.Protect()方法没有这样的参数。 相反,您可以尝试取消保护工作簿 … 执行您的代码 … 再次保护工作簿。
Public Sub UserProtection() Const PASS As String = "666bytes" ThisWorkbook.Unprotect (PASS) '...YOUR CODE...what you want to do... ThisWorkbook.Protect (PASS) End Sub
另外,让我提醒你,以简单的string格式保存密码(如本例中)不是一个好习惯。 (不是说如果有人想破解你的工作表,这将非常有用)… :)仅供参考