|
在网上下了VBA代码用来保护和撤销保护所有工作表,很适合我用,但是实际应用发现个问题:给工作表设置密码保护完成了,如果有人不撤销保护直接选“是”输入新密码,则不会显示密码错误,而是默认了新密码,如果有人恶意输入就很麻烦了。看看各位高手怎样解决?代码如下。
Sub 对所有工作表保护或撒消保护()
M = MsgBox("以前已保护的工作表密码不变,若要统一密码请先撒消已保护的工作表。" & Chr(10) & "选[是]对所有工作表进行保护,选[否]对所有工作表撒消保护。", vbYesNoCancel)
If M = vbYes Then
a = InputBox("请输入工作表保护密码:")
For N = 1 To Worksheets.Count
Worksheets(N).Protect Password:=a, DrawingObjects:=True, Contents:=True, Scenarios:=True
Next
End If
If M = vbNo Then
Line1: a = InputBox("请输入工作表撒消保护密码:")
For N = 1 To Worksheets.Count
On Error Resume Next
Worksheets(N).Unprotect Password:=a
If Err.Number <> 0 And E = 0 Then
E = N
End If
Next
If E <> 0 Then
Worksheets(E).Select
E = 0
M = MsgBox("对于此表密码不正确,是否重新输入?", vbYesNo)
If M = vbYes Then GoTo Line1
End If
End If
End Sub
在线等待 |
|