Excel VBA 5.26 新番 最强制霸道的数据保护 打开Excel都需要输入密码

Excel VBA 5.26 新番 最强制霸道的数据保护 打开Excel都需要输入密码


点击上方“Excel和VBA”,选择“置顶公众号”

致力于原创分享Excel的相关知识,源码,源文件打包提供

一起学习,一起进步~~


最近在做公众号文章汇总的时候,发现第5章的一些新增章节没有发布到公众号上,所以这里我再次补充发上来,如果觉得思路比较乱的话,可能需要大家翻一下历史章节了,后面等第5张的新增章节全部补发完了之后,我会做一个汇总,放在公众号的最下面。方便大家查阅

之前呢,我们学习了通过窗体的方式来实现针对单个工作簿的保护,我们可以通过窗体构造一个简单的登录界面

当其他的人想要使用我们预设的工作簿的时候,就需要输入对应的用户名和密码了,对于单个工作簿的保护,可以说是非常的强大,相较于之前学习的工作表的隐藏,锁定等,这个方法更加的直接,暴力。非常适用在公用电脑办公的小伙伴们。

可能大家会觉得这个功能似乎不够完善,单个工作薄的保护似乎并没有任何意义,实际上我们工作中更想要实现的针对这个电脑的所有的Excel工作薄的保护,即不管你打开那个Excel文件,都需要输入密码,这样的保护才是最强制的,那么是否可以实现这样的?

场景说明

和上一节的场景相比,这一节我们增加了一个需求,那就是针对所有的工作簿都适用

那么是不是说我们需要对每个Excel工作薄进行对应的密码设置,然后再去设计窗体等一系列的操作,这样的操作下来,估计很多人都奔溃了,这个工作量是在太大了,没有限制到其他人,反而把我们自己限制了,那么是不是这样的?

其实不然 我们可以换种角度出发,类似网站门户一样,设置一个登录页面,只有输入了正确的用户名密码,才可与进入网站,没有密码的话,你就没有办法登录网站,所以我们可以从这个角度出发,将Excel整体看作是一个网站,那么我们现在要做的,就是网站的登录页面,并且只需要做一个就可以了,这样是不是就简单了很多呢?

那么我们今天就是这样的类似思路

代码区

Private Sub CommandButton1_Click()Dim k&Me.HideIf TextBox1.Value = "admin" And TextBox2.Value = "123" Then    MsgBox "欢迎你登陆!"    Application.Visible = True    Else        MsgBox "您的输入不合法请重新输入!"        Application.Visible = True        ActiveWorkbook.CloseEnd IfEnd SubPrivate Sub CommandButton2_Click()Unload MeApplication.QuitEnd Sub

代码呢 其实和上节是一样的,不过今天的不同是设置上的不同,我们还是先来看看效果

当前,我们这里是没有打开任何Excel工作簿的,我们现在来尝试随机打开一个工作簿

代码解析

从上面的动图中呢,我们可以看到最终的效果

不管你随机打开任何一个Excel,那么都会出现这样的一个窗口,相当于网站的登录界面,如果选择强制退出

最终的结果就是导致整个excel全部关闭,你根本没有进入查看数据的可能性。

如果你输入了正确的用户名和密码

恭喜你,你才可以看到这个excel的界面

当你输入了正确的账号,密码之后,你就可以随意的打开你想要打开的任何excel文件了,而不会再次出现登录的窗口提示

除非要打开的Excel本身含有相关的窗体设置。

那么我们是如何实现这个效果的呢?

虽然代码大致相同,但是设置是有很大不同的。

今天的代码,既然是针对所有的工作簿,那么就需要写在另外一个地方-个人宏文件

那么这个文件,怎么找呢?大部分的Excel都是隐藏了这个

取消禁用就可以了。

代码一定要写在个人宏文件中,这样才可以实现针对整个Excel的控制。

(0)

相关推荐