《无需工具破解Excel工作表保护.doc》由会员分享,可在线阅读,更多相关《无需工具破解Excel工作表保护.doc(10页珍藏版)》请在金锄头文库上搜索。
1、无需工具破解Excel工作表保护无需工具破解Excel工作表保护密码来源:CFAN 发布时间:2009-07-27 评论Error! Invalid Template Key. 条不需要烦琐的解密过程,不需要额外的第三方破解工具,只需要写一个工作宏,等上个一二分钟,很简单几步就可以破解密码.超级有用.建议保留.超级无敌有用! 方法: 1打开文件 2工具-宏-录制新宏-输入名字如:aa 3停止录制(这样得到一个空宏) 4工具-宏-宏,选aa,点编辑按钮 5删除窗口中的所有字符(只有几个),替换为下面的内容:(复制吧) 6关闭编辑窗口 7工具-宏-宏,选AllInternalPasswords,运
2、行,确定两次,等2分钟,再确定.OK,密码完全被你看见了! 内容如下: Public Sub AllInternalPasswords() Breaks worksheet and workbook structure passwords. Bob McCormick probably originator of base code algorithm modified for coverage of workbook structure / windows passwords and for multiple passwords Norman Harker and JE McGimpsey
3、27-Dec-2002 (Version 1.1) Modified 2003-Apr-04 by JEM: All msgs to constants, and eliminate one Exit Sub (Version 1.1.1) Reveals hashed passwords NOT original passwords Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ Adapted from Bob McCormick base
4、 code by & _ Norman Harker and JE McGimpsey Const HEADER As String = AllInternalPasswords User Message Const VERSION As String = DBLSPACE & Version 1.1.1 2003-Apr-04 Const REPBACK As String = DBLSPACE & Please report failure & _ to the microsoft.public.excel.programming newsgroup. Const ALLCLEAR As
5、String = DBLSPACE & The workbook should & _ now be free of all password protection, so make sure you: & _ DBLSPACE & SAVE IT NOW! & DBLSPACE & and also & _ DBLSPACE & BACKUP!, BACKUP!, BACKUP! & _ DBLSPACE & Also, remember that the password was & _ put there for a reason. Dont stuff up crucial formu
6、las & _ or data. & DBLSPACE & Access and use of some data & _ may be an offense. If in doubt, dont. Const MSGNOPWORDS1 As String = There were no passwords on & _ sheets, or workbook structure or windows. & AUTHORS & VERSION Const MSGNOPWORDS2 As String = There was no protection to & _ workbook struc
7、ture or windows. & DBLSPACE & _ Proceeding to unprotect sheets. & AUTHORS & VERSION Const MSGTAKETIME As String = After pressing OK button this & _ will take some time. & DBLSPACE & Amount of time & _ depends on how many different passwords, the & _ passwords, and your computers specification. & DBL
8、SPACE & _ Just be patient! Make me a coffee! & AUTHORS & VERSION Const MSGPWORDFOUND1 As String = You had a Worksheet & _ Structure or Windows Password set. & DBLSPACE & _ The password found was: & DBLSPACE & $ & DBLSPACE & _ Note it down for potential future use in other workbooks by & _ the same p
9、erson who set this password. & DBLSPACE & _ Now to check and clear other passwords. & AUTHORS & VERSION Const MSGPWORDFOUND2 As String = You had a Worksheet & _ password set. & DBLSPACE & The password found was: & _ DBLSPACE & $ & DBLSPACE & Note it down for potential & _ future use in other workboo
10、ks by same person who & _ set this password. & DBLSPACE & Now to check and clear & _ other passwords. & AUTHORS & VERSION Const MSGONLYONE As String = Only structure / windows & _ protected with the password that was just found. & _ ALLCLEAR & AUTHORS & VERSION & REPBACK Dim w1 As Worksheet, w2 As W
11、orksheet Dim i As Integer, j As Integer, k As Integer, l As Integer Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer Dim PWord1 As String Dim ShTag As Boolean, WinTag As Boolean Application.ScreenUpdating = False With ActiveW
12、orkbook WinTag = .ProtectStructure Or .ProtectWindows End With ShTag = False For Each w1 In Worksheets ShTag = ShTag Or w1.ProtectContents Next w1 If Not ShTag And Not WinTag Then MsgBox MSGNOPWORDS1, vbInformation, HEADER Exit Sub End If MsgBox MSGTAKETIME, vbInformation, HEADER If Not WinTag Then
13、MsgBox MSGNOPWORDS2, vbInformation, HEADER Else On Error Resume Next Do dummy do loop 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
14、 126 With ActiveWorkbook .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 .ProtectStructure = False And _ .ProtectWindows = False Then PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _ Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) MsgBox Application.Substitute(MSGPWORDFOUND1, _ $, PWord1), vbInformation, HEADER Exit Do Bypass all for.nexts End If End With Next: Next: Next: Next: Next: Next Nex