使用用户名隐藏/取消隐藏工作表

时间:2015-11-25 15:23:36

标签: vba excel-vba excel

我只想询问是否可以使用Environ $(“用户名”)创建一个检测打开工作簿的人身份的VBA,并使用它可以隐藏一些工作表并取消隐藏其他工作表人可以看到吗?然后,如果另一个人打开同一个工作簿,它将隐藏/取消隐藏另一个人的工作表。

1 个答案:

答案 0 :(得分:2)

您想要的示例(仅用于教育目的):

Private Sub Workbook_Open()

Select Case Environ("username")
    Case "bloggsj"
        Sheets(1).Visible = False
        Sheets(2).Visible = True
    Case "doej", "murphyp", "manm"
        Sheets(2).Visible = True
        Sheets(1).Visible = False
    Case Else
        '// Unknown, close workbook
        ThisWorkbook.Close False
End Select

End Sub

重要提示:正如评论中已经提到的,这是一种保护数据的安全方式,以两个快速原因为例:

  • 可以轻松更改环境变量“username”,这会欺骗代码认为此人是另一个用户。
  • 打开文件时按住Shift键可以轻松绕过Workbook_Open事件。