尝试弄清楚我是如何只看到工作簿的,其他人都可以根据网络用户名查看用户表单。
这是我到目前为止所得到的:
Private Sub Workbook_Open()
Application.Visible = False
UtilitiesReportingTool.Show
End Sub
答案 0 :(得分:1)
您需要做一些事情来阻止用户查看您的工作表 - 这些内容可以通过一点点知识轻松解决。
Sub StartUp()
Dim wrkSht As Worksheet
If Environ("username") <> "CAES_MATT" Then
Application.Visible = False
UtitlitiesReportingTool.Show
Else
For Each wrkSht In ThisWorkbook.Worksheets
wrkSht.Visible = xlSheetVisible
Next wrkSht
End If
End Sub
Sub ShutDown()
Dim wrkSht As Worksheet
For Each wrkSht In ThisWorkbook.Worksheets
Select Case wrkSht.CodeName
Case "Sheet1" 'This should really be shtMacroEnable or something.
wrkSht.Visible = xlSheetVisible
Case Else
wrkSht.Visible = xlSheetVeryHidden
End Select
Next wrkSht
End Sub
在Workbook_Open
事件中添加以下代码:
Private Sub Workbook_Open()
StartUp
End Sub
在UserForm_Terminate事件中添加以下内容:
Private Sub UserForm_Terminate()
Application.Visible = True
ShutDown
End Sub
当您只打开工作簿时,启用宏&#39;如果未启用宏,则可以看到工作表。 启用宏后,将显示表单,除非您在这种情况下取消隐藏所有工作表。
当表单关闭时,除了代号为Sheet1
的工作表之外的所有内容都将被隐藏。
我可能错过了一些东西......回家。