![保存并关闭时恢复工作表保护](https://linux22.com/image/1533727/%E4%BF%9D%E5%AD%98%E5%B9%B6%E5%85%B3%E9%97%AD%E6%97%B6%E6%81%A2%E5%A4%8D%E5%B7%A5%E4%BD%9C%E8%A1%A8%E4%BF%9D%E6%8A%A4.png)
我目前有一个 VBA 代码,它将通过用户名自动取消保护我的 Excel 2016 文件中的所有工作表。
目前,当我打开文件时,它会要求输入密码。我不希望它要求输入密码,我只希望如果打开它的人的用户名与代码中的内容匹配,它就会取消对所有工作表的保护。
假设我有权更改工作簿,我打开它,发现所有工作表都不受保护。我做了一些更改,但想在保存所做的更改时自动恢复我在每个工作表上设置的保护。
填写工作表的最终用户无权更改任何内容,但打开文件后,我设置的所有保护均已到位并处于活动状态。目前我正在使用此代码,但它不起作用。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("ADD-EXTEND").Protect Password:="SPAR"
ActiveWorkbook.Save
End Sub
PS 此子代码位于 ThisWorkbook 中解锁工作表的代码下方?