|
- Sub 批量密码保护()
- Dim i&, j&, pswd$
- Do
- j = Application.InputBox("请输入要锁定的工作表数量" & "[<=" & Worksheets.Count & "]" & vbCr & vbCr & "输入0则退出程序", , , , , , , 1)
- Loop Until (j > 0 And j <= Worksheets.Count) Or j = 0
- pswd = Application.InputBox("请输入要设置的密码", , , , , , , 2)
- If j = 0 Then Exit Sub
- For i = 1 To j
- If Not Worksheets(i).ProtectContents Then
-
- Worksheets(i).Protect Password:=pswd, DrawingObjects:=True, Contents:=True, Scenarios:=True _
- , AllowInsertingRows:=True
- Else
- MsgBox Worksheets(i).Name & "已打开了工作表保护,请先解决保护"
- End If
- Next
- End Sub
- Sub 批量去密码保护2()
- Dim i&, j&, pswd$
- Do
- j = Application.InputBox("请输入要去除保护的工作表数量" & "[<=" & Worksheets.Count & "]" & vbCr & vbCr & "输入0则退出程序", , , , , , , 1)
- Loop Until (j > 0 And j <= Worksheets.Count) Or j = 0
- On Error Resume Next
- If j = 0 Then Exit Sub
- For i = 1 To j
- If Worksheets(i).ProtectContents Then
- MsgBox "准备去除 " & Worksheets(i).Name & "的保护,确定后,如有密码提示,请输入正确的密码"
- 1:
- Worksheets(i).Unprotect
- If Err.Number <> 0 Then
- MsgBox "密码不对,请重新输入"
- Err.Clear
- GoTo 1
- End If
- End If
- Next
- End Sub
复制代码 再改了下,能检测工作表是否有保护。 |
|