Excel VBScript-防止用户取消隐藏隐藏的工作表

Excel VBScript-防止用户取消隐藏隐藏的工作表,excel,vbscript,Excel,Vbscript,我正在寻找一个VBScript解决方案 我可以保护工作表: ActiveSheet.保护“密码” 我可以隐藏工作表: ActiveSheet.Visible=False 但是用户仍然可以在Excel中取消隐藏工作表,而无需密码。 有什么解决办法吗? 谢谢隐藏而不可能从Excel UI取消隐藏: ActiveSheet.Visible=xlSheetVeryHidden 在VBScript中,它可能是ActiveSheet.Visible=2 编辑: 在评论中添加澄清后: 我认为实现它的唯一方法是

我正在寻找一个VBScript解决方案

我可以保护工作表:

ActiveSheet.保护“密码”

我可以隐藏工作表:

ActiveSheet.Visible=False

但是用户仍然可以在Excel中取消隐藏工作表,而无需密码。 有什么解决办法吗?
谢谢

隐藏而不可能从Excel UI取消隐藏:

ActiveSheet.Visible=xlSheetVeryHidden

在VBScript中,它可能是
ActiveSheet.Visible=2

编辑: 在评论中添加澄清后:

我认为实现它的唯一方法是添加
激活
事件代码以始终隐藏它,并通过密码保护VBA项目。像下面这样

Private Sub Worksheet_Activate()
    ActiveSheet.Visible = xlVeryHidden
End Sub
然后,您可以添加子或函数,以使用硬编码密码(密码将作为参数传递,并根据硬编码字符串进行验证)取消隐藏此工作表。在此子模块中,您可以将一些全局变量设置为绕过
激活
逻辑

然后,从VBA立即窗口取消隐藏也将不起作用。在
BeforeSave
事件中,您可以隐藏此工作表,以便其他用户始终隐藏它


不确定这是否满足您的需要,但我认为这将很难实现更多。

您必须仅保护工作簿-用户必须查看工作簿而不使用密码。但是我想看1个工作表,密码保护。除非您在隐藏工作簿后保护工作簿,否则该工作表将可以获取。我知道,这就是为什么我要问^^^^那么xlSheetVeryHidden将是解决方案。听起来不错,将菜单灰显以取消隐藏该表,是的。问题是,我想取消隐藏它,但只能通过密码。有时我必须查看图纸值。(抱歉,我在帖子中忘记了这一点)另一个问题是,我可以在不使用密码的情况下ALT+F11并将可见性设置为0:(隐藏此敏感数据的另一个解决方案是将它们存储在单独的工作簿中(完全受密码保护)并在Excel的后台实例中打开它们,如这里所述:好的,我认为这在VBS中是不可能的。我在第一个工作表上有一个Excel文件和VBS代码(UFT/QTP测试用例需要它)。用户将在所有其他工作表中获得所有测试结果。我将为用户隐藏代码并对其进行密码保护。我将从smartobelix获得第一个解决方案,希望用户不知道Alt+F11^^^^谢谢大家。。。