Excel VBA 7.62快速实现批量工作表保护,误删?误改?这样的理由不存在的!

一起学习,一起进步~~

学习关于工作表的一些简单的删除操作之后呢,我们现在来学习 关于工作表的保护,简单是就是工作表的加密,禁止对方随意篡改我们的数据,导致最终数据不符或者造成关键数据的丢失。场景说明

说起工作表的保护,大家肯定会想到我直接点击菜单栏的工作表保护就可以了

个别工作表通过这样的方式来实现自然是最高效的,但是如果工作表的数量比较多,这样的操作就比较的麻烦了。有10个工作表都要来回点击10次,输入20次的密码,因为密码需要输入两次,所以是20次,这明显不符合我们的高效理念,所以来试下VBA高效加密。

代码区

Sub DeleteWs()Dim sth As Worksheet, s As String, str$s = Application.InputBox("请输入工作表密码", "加密密码的确定", , , , , , 3)For Each sth In WorksheetsIf sth.ProtectContents = False And sth.ProtectDrawingObjects = False Thensth.Protect "" & s & ""Elsestr = str & sth.NameEnd IfNext sthIf Len(str) > 0 ThenMsgBox str & "无法加密,其他工作表已经全部加密,请牢记你的密码!"ElseMsgBox "工作表已经全部加密,请牢记你的密码!"End IfEnd Sub

来看看今天的效果,我们最终目的是将所有的工作表进行加密,如果其中部分工作表已经有了加密,那就跳过,并且最终告诉我有哪些工作表没有加密

看看代码执行的过程,首先我们为了 保证代码的通用性以及安全性,我们不直接明文展示我们的密码,而是通过输入窗体的形式来进行交互输入

假设我们的密码是上面这样子的,实际操作中可以根据自己的需要输入任何自己想要的密码,点击确定

最终我们会得到这样的一个提示,总表因为在之前已经被加密过了,所以总表无法进行二次加密,所以直接跳过了,但是其他的工作表都已经用我们上面的工作表成功的的加密完成了,我们来看看效果

总表用我们的密码是完全没有办法解锁的,因为他在代码执行之前就已经被加密过了,故而不能进行二次加密,除非先解密

其他的工作表则是可以通过我们刚刚输入的123哈哈来进行解密的,说明我们的加密成功了

代码分析

来看看今天的代码。今天的代码也比较的简单,两个知识点

1.如何判断当前工作表是否已经被加密

If sth.ProtectContents = False And sth.ProtectDrawingObjects = False Then

这句代码就是是否已经被加密的,如果工作表已经被加密了,你还要强行二次加密的话,虽然系统不会报错,程序也会正常执行,但是实际上,你并没有加密成功,所以在这里要增加一个判断,这样也可以清楚的告诉自己,工作表哪些成功加密,哪些没有成功加密

2.工作表加密的方法

sth.protect "*****"'*代表的就是你需要加密的工作表密码

这个就非常的简单了。相较于手工操作需要输入两次的密码,这样的操作明显简单了很多

批量工作表的加密保护就这么的简单,快去给自己的工作表上把锁吧

============================

本节课的案例源码已经上传,需要的小伙伴后台私信“7-62-a6”,希望大家多支持~~,多多关注 ~ ~

好了,明晚21:00,准时再见!

因为公众号没有留言功能(开的比较晚),所以建立一个线下微信群,主要为大家提供一个交流的平台,同时大家也可以提一些对公众号的意见和看法,大家一起学习,一起进步。

(0)

相关推荐