Excel中是否有内置方法可以使用密码保护工作簿中的一个电子表格?
当用户勾选或选择一个控件时,会在工作表可见之前提示密码。
如果它没有内置到Excel中,可以用VBA实现吗?
答案 0 :(得分:2)
您可以尝试以下方法:
VeryHidden
和Protected
无法从标准xl菜单中取消保护或检测到Workbook_BeforeClose
和Workbook_Open
事件插入Active X
复选框并使用代码检查是否:
UnHide
的密码。 ( Fred 在此示例中使用)CheckBox代码
Private Sub CheckBox1_Click()
Dim StrPass As String
If CheckBox1.Value Then
StrPass = Application.InputBox("Please enter the password", "Admin check")
If StrPass = "fred" Then
With ThisWorkbook.Sheets("YourSheet")
.Unprotect "fred"
.Visible = xlSheetVisible
MsgBox "Sheet unhidden!", vbInformation
End With
Else
MsgBox "wrong password", vbCritical
End If
End If
End Sub
ThisWorkbook
模块
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With ThisWorkbook.Sheets("YourSheet")
.Protect "fred"
.Visible = xlVeryHidden
End With
End Sub
Private Sub Workbook_Open()
With ThisWorkbook.Sheets("YourSheet")
.Protect "fred"
.Visible = xlVeryHidden
End With
End Sub