我目前有一个 VBA 代码,它将通过用户名自动取消保护我的 Excel 2016 文件中的所有工作表。
目前,当我打开文件时,它会要求输入密码。我不希望它要求输入密码,我只希望如果打开它的人的用户名与代码中的内容匹配,它就会取消对所有工作表的保护。
假设我有权更改工作簿,我打开它,发现所有工作表都不受保护。我做了一些更改,但想在保存所做的更改时自动恢复我在每个工作表上设置的保护。
填写工作表的最终用户无权更改任何内容,但打开文件后,我设置的所有保护均已到位并处于活动状态。目前我正在使用此代码,但它不起作用。
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("ADD-EXTEND").Protect Password:="SPAR"
ActiveWorkbook.Save
End Sub
PS 此子代码位于 ThisWorkbook 中解锁工作表的代码下方?