Excel表格密码保护的解除方法
关键字:office2003 office2007 宏 密码保护
表格受密码保护时,咱们修改数据Excel弹出“您试图更改的单元格或图表受保护,于是是只读的。若要修改受保护单元格或图表,请先使用‘撤消工做表保 护’命令(在‘审阅’选项卡的‘更改’组中)来取消保护。可能会提示您输入密码。这时候咱们能够用VBA宏代码破解法来破解表格保护密码:安全
第一步:编辑器
Office2003打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“选项”状态按钮,打开“Microsoft Office安全选项”窗口,选择其中的“启用此内容”,“肯定”。再切换到“视图”选项卡,点击“宏”→“录制宏”,出现“录制新宏”窗口,在“宏名” 定义一个名称为:PasswordBreaker,点击“肯定”退出;ide
Office2007默认是不显示开发工具栏的,在excel窗口最顶端右键点击“custome quick access tool<自定义快捷工具栏>”---》在新窗口中点击“Popular<经常使用>”---》选择右侧的“show developer tab in the ribbon”,肯定;在新出现的developer工具栏,点击“macro security ”,而后选择新窗体中的“enable all macros (not recommands...)”工具
第二步:再点击“宏”→“查看宏”,选择“宏名”下的 “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”并点击“执行”,密码就现形了
第四步:点击“撤消工做表保护”,而后输入密码便可解除锁定;
测试结果,密码破解可用,可是很晕的是破解的密码跟原来的密码有很大的差距,想不明白了,反正能用就好。测试