我如何只允许自己查看电子表格,但其他人只能使用用户表单?

试图解决我只能看到工作簿,其他人都可以根据networking用户名来查看用户表单。

这是迄今为止我所得到的:

Private Sub Workbook_Open() Application.Visible = False UtilitiesReportingTool.Show End Sub 

你需要一些东西来阻止你的用户查看你的工作表 – 这些可以很容易地被打破,只需要一点点的知识。

  • 创build一个大的文字说“请启用macros”
  • 非常隐藏除macros启用表之外的所有表单。
  • 在普通模块中创build这两个过程
 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 

当您打开工作簿时,如果未启用macros,则仅启用“启用macros”工作表。 当启用macros时,将显示表单,除非在这种情况下,所有的表单都不被隐藏。

当窗体closures时,除了代码Sheet1的表单被隐藏。

我可能错过了…回家。