在显示所有工作表之前输入密码框

时间:2016-02-12 11:03:55

标签: excel vba excel-vba

我希望尝试实现一个输入框,供用户在代码运行之前输入密码,以使所有工作表可见。

以下代码在var jsonObj = JSON.parse(data);范围内,我想在此处添加代码,以便弹出一个输入框,用户可以从预设密码输入密码

ThisWorkbook

3 个答案:

答案 0 :(得分:1)

不确定这是否会对任何人有所帮助,但我设法完成此操作,用户必须输入密码才能打开所有工作表。如果他们不这样做,它将循环回来,直到密码是正确的(可能可以清理,但它的工作原理)。

st1dict = dict((t.split('-')[1],t) for t in st1) #keys->titles
list2titles = list(st1dict[k] for k in list2)    #ordered titles
extras = list(t for t in st1 if t not in list2titles)  #extra titles
print(list2titles+extras)  #the desired answer

答案 1 :(得分:0)

我个人会在文件上加密码保护:

转到文件选项卡,点击保护工作簿然后用密码加密。

(可能因Excel版本而异)

有关详情,请参阅。

https://support.office.com/en-us/article/Password-protect-documents-workbooks-and-presentations-ef163677-3195-40ba-885a-d50fa2bb6b68

答案 2 :(得分:0)

我认为另一个选项更清晰,更安全,针对致力于访问他们不应该访问的数据的用户,是让您的工作簿尝试从共享网络中的只读文件中提取机密数据位置,只有有限的用户才能访问。

这会将安全性置于您的手中并置于IT之上,这意味着它更安全,更灵活[添加新用户,无需手动添加密码,只需将该人员添加到能够使用的用户列表中访问网络驱动器],并避免出现上述问题,例如强制用户在忘记密码时使用任务管理器关闭Excel。事实上,用户根本不需要输入密码,因此用户体验也更友好。