【发布时间】:2015-10-28 18:20:25
【问题描述】:
我有一个 3 种不同类型的人可以访问的 Excel 电子表格,我希望这 3 种类型的人具有不同的访问权限。我希望有完全访问权限的人,所以可以更改工作簿、更改单元格、更改单元格的内容和格式等。有一些访问权限的人,所以只能更改一些单元格并且可以继续任何访问电子表格时可见的工作表,我希望有人访问受限,因此只能在某些工作表上进行,更改检索与该值关联的数据所需的单元格,并且无法保存文件.
有没有办法做到这一点?
我真正想要的是当文件打开时要求用户输入密码,并且根据密码是什么,不同的单元格被锁定并应用不同的访问级别。
【问题讨论】:
-
在workbook_open事件中,你可以有一个密码输入框,但可能更有效地为application.user做一个if语句?
-
我的意思是,这是可能的,但用户可以很容易地禁用宏,然后将所有工作表从不同的工作簿转换为 xlSheetVisible,或者将内容复制到不同的工作簿中。关键是,Excel 不是,也从未设计为安全程序
-
如 cmets 中所述,没有一种非常安全的方法来执行此操作。您可以在打开工作簿时提示输入密码,然后有一些语句说“如果密码为 X,则将这些单元格设置为受保护。如果密码为 Y,则将其他单元格设置为受保护。如果密码为 Z,则将其他单元格设置为受保护。如果不是“X、Y 或 Z,请关闭工作簿”。问题在于它不是很安全。任何有一点 VB 知识的人都可能会通过这种方式......所以做这样的事情可能会让你产生一种虚假的安全感。
-
这就是我指出的那样使用用户名的原因。消除密码不安全性。以其他人身份登录要困难得多。
-
所以对这三种情况和一个其他情况做一个案例陈述。你现在只是提到其他......另外,我没有牵你的手,因为1)我有自己的工作要做,2)在SO你应该在寻求帮助之前做出努力。
标签: vba excel passwords password-protection