在使所有表单可见之前,请input密码框
我正在尝试实现一个input框,供用户在代码运行之前input密码以使所有工作表可见。
下面的代码是在ThisWorkbook
内,我想添加代码在这里input框popup,用户从预设的密码input密码
Private Sub Workbook_Open() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets ws.Visible = xlSheetVisible Next ws Sheets("START").Visible = xlVeryHidden Sheets("Contents").Select Range("A1").Select MsgBox "Please refer to user guide for any help", vbInformation + vbOKOnly, "PRODUCT BIBLE"
不知道这是否会帮助任何人,但我设法通过,用户将不得不input密码打开所有的工作表。 如果他们不这样做,它会循环,直到密码是正确的(可能可以清理,但它的工作原理)。
Private Sub Workbook_Open() Dim strName As String Do Until strName = "Bible" strName = InputBox("Enter the Password:", "Password") On Error Resume Next If strName = "Bible" Then MsgBox "Correct Password", vbInformation On Error GoTo 0 ElseIf strName = False Then MsgBox "You have entered the incorrect password ", vbInformation End If Loop Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets ws.Visible = xlSheetVisible Next ws Sheets("START").Visible = xlVeryHidden Sheets("Contents").Select Range("A1").Select MsgBox "Please refer to user guide for any help", vbInformation + vbOKOnly, "PRODUCT BIBLE" End Sub
我个人会将密码保护在文件上:
转到文件选项卡,点击保护工作簿,然后用密码encryption。
(可能因Excel版本而异)
看到更多的细节。
我认为另一个select是清洁的,对于承诺访问他们不应该访问的数据的用户更安全,就是让你的工作簿试图从共享networking位置的只读文件中提取机密数据,有限的用户有权访问。
这将安全性放在你的手和IT之外,这意味着更安全,更灵活[添加新用户,不需要手动添encryption码,只需将该人员添加到能够访问networking的用户列表驱动器],并避免上述状态的问题,如强迫用户使用任务pipe理器来closuresExcel,如果他们忘记了密码。 实际上,用户根本不需要input密码,所以用户体验也更加友好。