VBA允许某些用户使用表格中包含用户名和密码的登录表单和管理表来查看和编辑工作簿中的某些工作表

问题描述 投票:-1回答:1

提前感谢您提供的任何帮助。

我目前工作的公司让我建立了一个基于电子表格的系统来进行新产品开发并进行成本核算。但是,访问此工作簿的许多人不允许查看每个公司策略的成本核算,因此他们要求使用登录表单为此工作簿提供安全性。我使用用户名文本框(txtUser)和密码文本框(txtPass)以及命令按钮(cmdLogin)构建了登录表单。在表格中,我们有以下表格。摘要,报价,客户服务,生产,质量,库存,财务,库存,维护,采购,数据,模具和管理员。在管理员表中我有两个表。表1(tblUsers)列出了所有用户名,密码以及允许查看的表单列表。附件是文件。当用户打开工作簿时,我希望我的表单弹出并请求他们的用户名和密码。如果用户名和密码与我在tblUser中的匹配,那么我想授予他们访问我已授予他们在tblUser中查看的工作表列表的权限,并隐藏所有其余的工作表。如果他们没有输入正确的密码,那么我希望他们有一个消息框,询问他们是否要重试或关闭程序。如果他们重试我想再次显示userform。我尝试了一些其他论坛留下的样本,但似乎无法让它进行调整以获得一张桌子。

excel vba excel-vba
1个回答
0
投票

简单的答案是,您在关闭工作簿时隐藏了所有工作表。 (您必须有一个可见的,因此请创建一个表单“您无权查看此工作簿”)然后在打开工作簿时,弹出表单并选择取消隐藏所需的工作表。

更长的答案是没有这样的安全系统是值得的 - 任何人都可以谷歌如何在几分钟内破解它。但它会让你的老板高兴我猜。 (如果您确实希望使其安全,则可以通过在已编译的C +模块中的UDF中执行此操作来隐藏每个人的成本计算数据,并仅返回结果。)

© www.soinside.com 2019 - 2024. All rights reserved.