繁体   English   中英

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

[英]Hide/Unhide sheets using username

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

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

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

重要说明:正如评论中已经提到的那样,这不是保护数据的安全方法,例如,有两个快速原因:

  • 可以轻松更改环境变量“用户名”,这将使代码误以为该人是另一个用户。
  • 打开文件时,按住Shift键可以轻松绕过Workbook_Open事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM