Skip to content

Instantly share code, notes, and snippets.

@parano
Created February 20, 2012 07:18
Show Gist options
  • Save parano/1868242 to your computer and use it in GitHub Desktop.
Save parano/1868242 to your computer and use it in GitHub Desktop.
Excel表格密码保护的解除方法
表格受密码保护时,我们修改数据Excel弹出“您试图更改的单元格或图表受保护,因而是只读的。
若要修改受保护单元格或图表,请先使用‘撤消工作表保护’命令(在‘审阅’选项卡的‘更改’组中)来取消保护。
可能会提示输入密码。这时候我们可以用VBA宏代码破解法来破解表格保护密码:
第一步:打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“选项”状态按钮,
打开“Microsoft Office安全选项”窗口,选择其中的“启用此内容”,“确定”
再切换到“视图”选项卡,点击“宏”→“录制宏”,出现“录制新宏”窗口,在“宏名”定义一个名称为:
PasswordBreaker,点击“确定”退出;
第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“编辑”,
打开“Microsoft Visual Basic”编辑器,用如下内容替换右侧窗口中的所有代码:
Sub PasswordBreaker()
  Dim i As Integer, j As Integer, k As Integer
  Dim l As Integer, m As Integer, n As Integer
  Dim i1 As Integer, i2 As Integer, i3 As Integer
  Dim i4 As Integer, i5 As Integer, i6 As Integer
  On Error Resume Next
  For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
  For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
  For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
  For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
  ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
  Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  If ActiveSheet.ProtectContents = False Then
  MsgBox "One usable password is " & Chr(i) & Chr(j) & _
  Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
  Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  ActiveWorkbook.Sheets(1).Select
  Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
  Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
  Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  Exit Sub
  End If
  Next: Next: Next: Next: Next: Next
  Next: Next: Next: Next: Next: Next
End Sub
第三步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“执行”,密码就现形了
第四步:点击“撤消工作表保护”,然后输入密码即可解除锁定;
测试结果,密码破解可用,但是很晕的是破解的密码跟原来的密码有很大的差距,想不明白了,反正能用就好。
@longliveh
Copy link

哈哈哈,上传到腾讯文档也可以,然后再导出

@oilfieldtools
Copy link

oilfieldtools commented Apr 3, 2025 via email

@BenjaminGao
Copy link

Office 365 有效

@pejaz
Copy link

pejaz commented Apr 23, 2025

还有一个办法。用 vim 打开 excel,然后把 xl - Worksheets 下面对应的 sheel ,搜索里面的 sheelProtection 标签删除就可以了

@oilfieldtools
Copy link

oilfieldtools commented Apr 24, 2025 via email

@cooljser
Copy link

哈哈哈,上传到腾讯文档也可以,然后再导出

直呼牛逼

@oilfieldtools
Copy link

oilfieldtools commented May 16, 2025 via email

@pejaz
Copy link

pejaz commented Jun 2, 2025

这个还是有一定门槛儿的。abcd-------- 原始邮件 --------发件人: pejaz @.>日期: 2025年4月23日周三 22:09收件人: pejaz @.>抄送: Comment @.>主 题: Re: @. commented on this gist.还有一个办法。用 vim 打开 excel,然后把 xl - Worksheets 下面对应的 sheel ,搜索里面的 sheelProtection 标签删除就可以了—Reply to this email directly, view it on GitHub or unsubscribe.You are receiving this email because you commented on the thread.Triage notifications on the go with GitHub Mobile for iOS or Android.

其他的方法对 wps 或者表格格式比较复杂的时候没用,要么不支持宏编辑要么下载下来格式会错乱

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment