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