日常工作中,经常会遇到加密工作簿或者工作表忘记密码的情况,今天,我们就介绍一下excel常见加密类型,以及常用解决办法。 关于Excel方面的密码大致可以分为以下三种类型 1.1工作簿保护密码 Excel工作簿保护后(审阅 - 保护工作簿) 
保护后,工作表无法插入、删除和取消隐藏等操作。 
解密方法: 在上图工作表标签右键菜单中点击"查看代码“打开一个新的窗口(Visual baisc 编辑器),插入-模块,然后把下面的代码粘贴到右侧的空白窗口。 代码 请输入内容 Sub test() ActiveWorkbook.Sheets.Copy For Each sh In ActiveWorkbook.Sheets sh.Visible = True Next End Sub
把光标放在代码中,点工具栏中的运行按钮,运行上面代码后,会把原文件另存为一个新的Excel文件,这时只需要重新保存即可。工作簿密码在新文件中已取消。
1.2工作簿打开密码 加密方法:文件-信息-保护工作簿(13版本) 
加密过的工作簿,打开时候,只有输入密码才能看到工作簿内容。 
破解方法:软件破解 Accent OFFICE Password Recovery 这个软件,我在网上找了好久,找到一个免费可用版! 穷举破解,最慢,密码越简单越好破解。 链接:https://pan.baidu.com/s/1dG7TaUl密码:azc5 写保护方法:Excel工作簿保护后(审阅 - 保护工作表) 

破解方法: 软件破解 Accent OFFICE Password Recovery 秒破!(成功率90%以上) 

可能给出的密码和实际的密码不一致(编码问题),但是填入以后,绝对能解除密码。 加密方法:VBE工具-- VBAProject工程属性 
加密过保存以后,再打开vbe界面查看代码时,就出现以下提示。 
解密方法: 将如下代码写入任意excel模块运行即可破解:(成功率90) Private Sub VBAPassword2() '你要解保护的Excel文件路径 Filename = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt", , "VBA破解") If Dir(Filename) = "" Then MsgBox "没找到相关文件,清重新设置。" Exit Sub Else FileCopy Filename, Filename & ".bak" '备份文件。 End If Dim GetData As String * 5 Open Filename For Binary As #1 Dim CMGs As Long Dim DPBo As Long For i = 1 To LOF(1) Get #1, i, GetData
If GetData = "CMG=""" Then CMGs = i If GetData = "[Host" Then DPBo = i - 2: Exit For Next If CMGs = 0 Then MsgBox "请先对VBA编码设置一个保护密码...", 32, "提示" Exit Sub End If Dim St As String * 2 Dim s20 As String * 1
'取得一个0D0A十六进制字串 Get #1, CMGs - 2, St '取得一个20十六制字串 Get #1, DPBo + 16, s20 '替换加密部份机码 For i = CMGs To DPBo Step 2 Put #1, i, St Next '加入不配对符号 If (DPBo - CMGs) Mod 2 <> 0 Then Put #1, DPBo + 1, s20 End If MsgBox "文件解密成功......", 32, "提示" Close #1 End Sub
|