禁止用户查看ActiveX控件属性Excel(VBA)

时间:2012-07-04 03:29:09

标签: excel excel-vba activex vba

我目前正在Microsoft Excel上构建基于VBA的应用程序。

我使用简单的activeX控件来获取用户ID /密码。这个问题是用户可能通过查看activeX标签的“属性”来查看密码的值

有什么方法可以阻止用户激活“设计”模式并直接查看文本框的值?或者有没有更好的方法来存储系统上的凭据?我使用文本框的原因是因为它们更易于用户使用(您可以保存该值,因此您可以在将来使用该程序而无需再次重新键入用户标识/密码)并且维护简单(不需要表格/弹出窗口)

感谢您的帮助。

这就是工作表上的id / password框的样子(使用activeX控件)

问题是如果用户打开设计模式,用户可以看到密码文本框的值 - >性能

1 个答案:

答案 0 :(得分:0)

我会创建一个UserForm来处理用户名/密码系统。通过在VBA IDE中将工作表的“可见”属性设置为“xlSheetVeryHidden”,表单可以将用户名和密码保存到非常隐藏的工作表中。除非您进入VBA IDE并更改visible属性,否则无法取消隐藏工作表。

Sheet visibility property

打开表单时,从该表单上的两个范围加载数据。如果您担心用户计算范围名称并将值放入单元格,则可以从名称管理器中设置要隐藏的范围名称。

唯一知道单元格范围名称是什么以及访问它们的人将是那些可以访问VBA代码的人。因此,使用密码保护密码,它就像在Excel中一样安全,至少在我看来是这样。

在任何情况下,安全都是相对的。事物的安全程度取决于数据的重要程度。如果只是为了让人们不要弄乱他们不应该做的东西,那么简单的安全就好了。如果它是高度机密的数据,那么您不应该允许用户保存密码。可能是用户名,但不是密码。