nnsea 发表于 2024-2-10 22:15:58

弹窗录入保护密码和撤销工作表保护密码VBA

Sub 保护工作表()
    ' 弹出窗口让用户输入密码
    Dim pwd As String
    pwd = InputBox("请输入保护工作表的密码:", "设置密码")
      
    ' 检查用户是否输入了密码
    If pwd <> "" Then
      ' 保护当前活动工作表,使用用户输入的密码
      ActiveSheet.Protect Password:=pwd, DrawingObjects:=True, Contents:=True, Scenarios:=True
      MsgBox "工作表已成功保护。"
    Else
      ' 如果用户没有输入密码,则显示消息并退出
      MsgBox "密码不能为空,请重新尝试。"
    End If
End Sub

Sub 取消工作表保护()
    ' 弹出窗口让用户输入密码
    Dim pwd As String
    pwd = InputBox("请输入取消工作表保护的密码:", "输入密码")
      
    ' 尝试使用用户输入的密码来取消工作表保护
    On Error Resume Next ' 忽略错误,以便在密码错误时不会弹出错误对话框
    ActiveSheet.Unprotect Password:=pwd
    If Err.Number <> 0 Then
      ' 如果发生错误,则密码不正确
      MsgBox "密码错误,无法取消工作表保护。"
    Else
      ' 如果没有错误,则成功取消保护
      MsgBox "工作表已成功取消保护。"
    End If
    On Error GoTo 0 ' 恢复正常的错误处理
End Sub

页: [1]
查看完整版本: 弹窗录入保护密码和撤销工作表保护密码VBA