问题描述
在 Excel 2016 上,我想在快速访问工具栏中添加一个按钮,用于切换保护/取消保护活动工作表,始终使用相同的密码。
Sub Protection()
If ActiveSheet.ProtectContents Then
ActiveSheet.Unprotect Password:="TEST"
Else
ActiveSheet.Protect Password:="TEST"
End If
End Sub
一开始似乎工作正常。 但是当我执行以下操作时:
- 使用没有密码的常规 Excel 功能区按钮进行保护
- 使用宏取消保护(即使不需要密码也能工作,我认为这就是问题所在)
- 使用宏进行保护
- 使用常规 Excel 按钮取消保护:无需密码!!!
Sub Protection()
On Error Resume Next
If ActiveSheet.ProtectContents Then
ActiveSheet.Unprotect Password:=""
If Err.Number <> 0 Then
ActiveSheet.Unprotect Password:="TEST"
If Err.Number <> 0 Then
MsgBox ("The password is not the usual one.")
End If
End If
Else
ActiveSheet.Protect Password:="TEST"
End If
On Error GoTo 0
End Sub
然而,它看起来并不干净。 我在我的工作计算机 (Excel 2016) 上遇到此问题,但在我的个人计算机 (Excel 365) 上似乎没问题。
有没有更好的方法来确保应用正确的保护,无论用户之前对文件做了什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)