1

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

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

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

感谢您的帮助。

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

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

4

1 回答 1

0

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

工作表可见性属性

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

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

在任何情况下,安全都是相对的事情。某物需要有多安全取决于数据的重要性。如果只是为了防止人们弄乱他们不应该做的事情,那么简单的安全性就可以了。如果它是高度机密的数据,那么您无论如何都不应该允许用户保存密码。也许是用户名,但不是密码。

于 2012-07-04T04:58:38.370 回答