专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
完美Excel  ·  修复UNIQUE函数 ·  2 天前  
Excel之家ExcelHome  ·  一键破解工作簿保护和工作表保护 ·  3 天前  
Excel之家ExcelHome  ·  随光标变化的动态图表 ·  1 周前  
Excel之家ExcelHome  ·  我们一起学图表 ·  1 周前  
Excel之家ExcelHome  ·  计算中式排名,三种方法都不错 ·  6 天前  
51好读  ›  专栏  ›  完美Excel

在Excel中设置动态密码

完美Excel  · 公众号  · Excel  · 2024-10-22 05:06

正文

学习Excel技术,关注微信公众号:
excelperfect

标签:VBA

我们知道,Excel中设置的密码安全性很低,很容易破解。本文提供一种密码设置技巧,提高密码的安全性。

思路是,每次输入的密码都不同,但是只有你知道其规律并能输入正确的密码。具体示例:以当前时间作为密码,例如当前时间是17:01分,则密码是1701,你只需要看看屏幕右下角的时间就知道密码了。

示例代码如下:

Sub ChangingPassword() Dim dtNow As Date Dim sPassword_Required As String Dim sPassword_Given As String
dtNow = Now sPassword_Required = Format(dtNow, "hhmm") sPassword_Given = InputBox("请输入密码:") If sPassword_Given = sPassword_Required Then MsgBox "密码正确!" Else MsgBox "密码错误!" End IfEnd Sub

在代码中,使用Format函数和Now函数以文本形式返回当前时间,将其作为密码存储在变量中,用户输入的密码也存储在变量中,随后进行一个非常简单的检查,看看两个密码是否匹配,并给出相应的操作。

然而,如果用户在输入时间密码后,在单击“确定”之前,时间变成下一分钟了,将会导致密码不正确。下面的代码允许有5秒钟的误差:

Sub ChangingPassword_AllowTimeInterval() Dim dtNow As Date Dim sPassword_Required As String Dim sPassword_Given As String
dtNow = Now sPassword_Required = Format(dtNow, "hhmm") sPassword_Given = InputBox("请输入密码:") If (sPassword_Given = sPassword_Required) Or _   ((sPassword_Given = Format(DateAdd("n"1, dtNow), "hhmm")) And (Second(Now) 5)) Then MsgBox "密码正确!" Else MsgBox "密码错误!" End IfEnd Sub


欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

推荐文章
完美Excel  ·  修复UNIQUE函数
2 天前
Excel之家ExcelHome  ·  一键破解工作簿保护和工作表保护
3 天前
Excel之家ExcelHome  ·  随光标变化的动态图表
1 周前
Excel之家ExcelHome  ·  我们一起学图表
1 周前
Excel之家ExcelHome  ·  计算中式排名,三种方法都不错
6 天前
THLDL领导力  ·  好公司愿意提拔的10种人
8 年前
为你读诗  ·  读古诗,和孩子一起重拾旧时美好
7 年前