百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

我的Excel保护神器 :一键自定义加密解密保护解保工作簿和工作表

cac55 2025-01-07 11:07 15 浏览 0 评论

VBA项目程序运行效果图:

功能和优点

  • 简单易用
  • 功能整合
  • 方便快捷
  • 一键快速完成各种密码的加密、解密、保护和解保(非破解):
    • 工作簿开启密码(运行后每次打开工作簿,提示输入密码,否则无法打开工作簿)
    • 工作簿修改密码(运行后每次打开工作簿,提示输入密码,否则无法修改)
    • 工作簿保护密码
    • 工作表保护密码
  • 自定义工作簿保护选项:
    • 是否保护工作簿结构
    • 是否保护工作簿窗口
  • 自定义工作表保护选项:
    • 是否保护图形
    • 是否保护方案
    • 是否允许排序
    • 是否允许筛选
    • 是否允许透视

VBA程序:






VBA源码:

' fProtectWbkAndSht

Private Sub btn1_Click()
    If EncryptWorkbookOpenPassword(, txt1WbkOpenPassword.Value) = 1 Then
        MsgBox "成功添加开启密码。" & vbCrLf & _
                    "每次打开工作簿时,请输入密码:" & txt1WbkOpenPassword.Value, vbInformation
    Else
        MsgBox "添加开启密码失败。请检查文件是否已加密过。", vbCritical
    End If
End Sub

Private Sub btn2_Click()
    If DecryptWorkbookOpenPassword() = 1 Then
        MsgBox "成功解密。", vbInformation
    Else
        MsgBox "解密失败。", vbCritical
    End If
End Sub

Private Sub btn3_Click()
    If EncryptWorkbookWriteResPassword(, txt2WbkWriteResPassword.Value) = 1 Then
        MsgBox "成功添加修改密码。" & vbCrLf & _
                    "每次打开工作簿时,请按提示输入修改密码,:" & txt1WbkOpenPassword.Value & vbCrLf & _
                    "否则只能以只读的方式打开工作簿", vbInformation
    Else
        MsgBox "添加修改密码失败。请检查文件是否已加密过。", vbCritical
    End If
End Sub

Private Sub btn4_Click()
    If DecryptWorkbookWriteResPassword() = 1 Then
        MsgBox "成功解密。", vbInformation
    Else
        MsgBox "解密失败。", vbCritical
    End If
End Sub

Private Sub btn5_Click()
    If ProtectWorkbook(, _
        txt3WbkProtectPassword.Value, _
        chk1ProtectStructure.Value, _
        chk2ProtectWindows.Value) = 1 _
    Then
        MsgBox "成功保护工作簿!" & vbCrLf & vbCrLf & _
                    "请记好密码:" & txt3WbkProtectPassword
    Else
        MsgBox "无法保护工作簿!" & vbCrLf & _
                    "请检查工作簿是否已被保护或者密码是否输入有误?"
    End If
End Sub

Private Sub btn6_Click()
    If UnProtectWorkbook(, _
                                        txt3WbkProtectPassword.Value) = 1 Then
        MsgBox "成功解除保护工作簿"
    Else
        MsgBox "解除保护工作簿失败!请检查密码"
    End If
End Sub

Private Sub btn7_Click()
    Err.Clear
    On Error Resume Next
    If ProtectAllSheets(txt4ShtProtectPassword.Value, _
                                    chk3.Value, _
                                    chk4.Value, _
                                    chk5.Value, _
                                    chk6.Value, _
                                    chk7.Value, _
                                    chk8.Value) = 1 Then
        MsgBox "成功保护所有工作表。" & vbCrLf & vbCrLf & _
                        "请记好密码:" & txt4ShtProtectPassword.Value
    Else
        MsgBox "保护工作表失败!请检查工作表是否已经保护,或者密码是否有问题"
    End If
End Sub

Private Sub btn8_Click()
'    Err.Clear
'    On Error Resume Next
    If UnProtectAllSheets(txt4ShtProtectPassword.Value) = 1 Then
        MsgBox "成功解除保护所有工作表!"
    Else
        MsgBox "解除保护工作表失败!请检查密码是否有问题"
    End If
End Sub




' Thisworkbook.cls.txt

Private Sub Workbook_Open()
    fProtectWbkAndSht.Show
    Application.OnKey "{F5}", "showProtectWbkAndSht"
End Sub

Sub showProtectWbkAndSht()
    fProtectWbkAndSht.Show
End Sub


每次打开工作簿或者激活工作簿后按下快捷键F5,就会自动弹出程序主界面对话框,只要输入密码,点击按钮即可加密,解密、保护、解保工作簿或工作表。

当然也可设置宏按钮或自定义快捷键,指向VBA Sub:showProtectWbkAndSht,这样每次点击这个按钮或快捷键,即可快速实现一键保护所有工作表。


后记

分享完毕。感谢欣赏、关注、点赞、收藏与转发。

如果有任何问题,欢迎评论或者私信。

下期见~

#头条首发大赛##头条创作挑战赛##文章首发挑战赛##excel##vba#

相关推荐

毕亚兹CAT6六类千兆网线,快的不止一点点

相信大家在使用过程中都有这样的感触,使用笔记本连接WiFI虽然没有线的束缚,移动更方便,但在信号的稳定性上却相当打折扣。特别一些百兆路由器,WiFi信号在穿墙之后就衰减的特别厉害。为了让日常使用更为省...

千兆网有必要用超六类网线吗(千兆网有必要用超六类网线吗?)

在千兆网络中是否需要使用超六类网线(Cat6a),需结合具体需求和场景综合判断:一、超六类网线的优势更高的性能传输频率达500MHz,支持10Gbps速率(远超千兆需求),未来升级万兆无需换线。...

网线1-8芯都通,线序也正常!测线器显示一千兆

这是什么操作?疑似不会打水晶头?当客户说要我把这根线换了的时候,小脑都干萎缩了。大家好,我是沈阳穿线大神。客户说家里网速从装修后就没达标过,一度怀疑是网线不太好。当上门打开多媒体箱一看,线路确实不太好...

千兆网线VS百兆网线:性能对比与选择指南

千兆网线vs百兆网线:性能对比与选择指南在现代网络中,千兆以太网和百兆以太网是两种常见的有线局域网(LAN)标准。接下来将对千兆网线和百兆网线进行性能对比,并提供一个选择指南,帮助大家更好地理解它们的...

入户弱电箱到电视柜只有一根网线?单线复用跑不满千兆?

今天根据预约前往徐汇区某客户家上门升级网线。上门前已与客户沟通得知已有两波人马上门无法解决问题。到现场勘察网络结构。客户家入户办理的是电信的千兆宽带。弱电箱到电视柜只有一根网线,所以客户找朋友帮他...

网线选择指南:千兆网不是开玩笑,升级你的网线吧!

想给家里拉网线,却被网线种类搞晕了?不用担心,小编来帮你梳理一下!,你是否曾经为家里的网线选择而犯愁?不用担心,这篇文章将为你梳理一下各类网线的区别,让你轻松选出最适合你的网线。五类线传输速率仅为百兆...

科普 | 网线数据传输最远距离(网线传输距离最远多长信号稳定)

了解过网线的用户都知道,双绞线有一个“无法逾越”的“100米”传输距离,无论是哪一类的网线,即便是百兆网线、千兆网线、万兆网线,最远的传输距离都是一样的100米,而且在综合布线规范中,也明确要求水平布...

网线做1236有效距离能传输多远?(网线1236接法有顺序吗)

我们用的网线标准接法是T568B的线序来接入水晶头,按照标准接法,我们按顺序接入网线的8根线芯。网线使用1236编号的芯线传输数据,也就是1.2用于发送,3.6用于接收(来自线缆博士),另外四根线45...

3招辨别百兆网线和千兆网线?(如何区别百兆和千兆网线)

网线是连接局域网必不可少的,但是现在人们对网速的要求越来越高,网线也有了不同的分类,常见的有五类线、超五类线、六类线、七类线等,但我们不懂行的人可能就只知道百兆网线与千兆网线,那么这两种网线有什么不同...

网线8芯线各自作用是什么?几种常用的网线定义行业标准

许多朋友都遇到过网线装宽带时选择网线类型的问题,以及家里装修时需要铺设网线如何选择的问题等。那么网线到底是选择8芯的还是4芯的呢?8芯网线的每个芯都用到了吗?每芯的作用又是什么呢?接下来在这里分享8芯...

网线水晶头还有大小之分?超六类网线能插超五类的水晶头吗?

不知道大家有没有做过这种蠢事呢?前不久绿豆就有朋友干过让人啼笑皆非的事情。他为了把家里闲置网线利用起来,连接笔记本使用。结果从网上买了水晶头后怎么插都插不进去,后来才知道原来是买错了。网线是超六类线,...

超五类网线能支持千兆网络吗?(超五类网线能支持千兆网络吗怎么设置)

超五类非屏蔽网线是在对现有的五类屏蔽双绞线的部分性能加以改善后出现的电缆,不少性能参数,比如近端串扰、衰减串扰比,回波损耗等有所提高。但目前来说,超五类网线的传输带宽仍然为100MHz。虽然超五类非屏...

4种方法快速鉴别百兆/千兆/万兆网线

在购买网线时,我们经常会遇到百兆/千兆/万兆的疑惑,想买的网线到底是属于哪一种?本文将围绕4种鉴别方式,更快让用户能够分清楚这三种常规区别。一、看网线护套上的英文标识这是最简单也是最快速的判别方式,下...

我们做事要想快速成功,首先就得看教程,才会事半功倍

我们做事要想快速成功,首先就得看教程,才会事半功倍要想快速解决问题,还是要先看教程,学习别人成功的路子,往往就会事半功倍,容易成功,千万不要自己钻研。比如,有人自己修网络,弄了一天,也没修好。会修网的...

百兆网线和千兆网线有什么区别(百兆网线和千兆网线速度有多大区别)

百兆和千兆主要指的是我们在使用的网络中的传输速度。百兆和千兆的区别指的就是他们的带宽问题,也就是能允许多大的数据量通过。百兆网线和千兆网线指的是可以满足百兆网络和千兆网络的传输速度的线缆。一般来说,百...

取消回复欢迎 发表评论: