有没有办法阻止工作簿来自"外部"访问?

时间:2014-05-06 17:36:19

标签: excel vba excel-vba

第一次在这里问一些事情,所以我会事先道歉,以防我做任何我不该做的事情。

我正在处理一个工作簿,其中有一些信息对其他人不可用,除了一些用户。 在进行一些测试时,我发现可以使用另一个Excel实例,即另一个工作簿来访问该信息(在这种情况下,使用VBA)。 我想知道的是:是否可以阻止另一个Excel实例或其他工作簿使用我想要保护的信息访问此工作簿?

本工作表的重点是用作其他员工绩效反馈的“数据库”。他们用自我评估填写表格,然后他们的经理也填写,评估他们。所有这些都存储在一张工作表中,该工作表是隐藏的(非常隐藏,更具体)。使用一个简单的登录系统,我能够只允许一个用户(一个具有管理员权限)访问此工作表,但假设有人知道该工作表的存在,那么他们完全有可能,例如,只需复制从该工作表到新工作簿中的空白工作表。

最终,我想要实现的是这个工作簿中的某种限制,只允许它自己的子和函数来处理它

提前致谢

编辑:添加了一些信息。希望这有助于澄清我的问题

1 个答案:

答案 0 :(得分:0)

实现这一目标的唯一方法是加密。据我所知,Excel仅支持一种加密形式,即完整的工作簿加密。在这种情况下,有一个密码可以打开工作簿,用户可以访问完整的工作簿,也可以不访问任何工作簿。

Excel中的任何其他形式的加密,受保护的单元格,宏上的密码等都可以由知识渊博的用户轻松绕过。

但是,您可以使用外部数据库服务器或在工作簿中实现自己的加密方案来实现此目的。

有关如何从VBA访问Windows CryptoAPI的一些信息here