《Excel如何撤销工作表保护密码.doc》由会员分享,可在线阅读,更多相关《Excel如何撤销工作表保护密码.doc(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Excel,遗忘密码后如何撤销工作表保护密码(2011-06-23 15:55:24) 转载标签: excel工作表保护密码杂谈1、打开您需要撤销保护密码的Excel文件;2、依次点击菜单栏上的工具-宏-录制新宏,输入宏名字如:ab;3、停止录制(这样得到一个空宏);4、依次点击菜单栏上的工具-宏-宏,选ab,点编辑按钮;5、删除窗口中的所有字符(只有几个),替换为以下内容;Public Sub 工作表保护密码()Const DBLSPACE As String = vbNewLine & vbNewLineConst AUTHORS As String = DBLSPACE & vbNewL
2、ine & _作者:ericConst HEADER As String = 工作表保护密码Const VERSION As String = DBLSPACE & 版本 Version 1.1.1Const REPBACK As String = DBLSPACE & Const ZHENGLI As String = DBLSPACE & ericConst ALLCLEAR As String = DBLSPACE & 该工作簿中的工作表密码保护已全部解除。 & DBLSPACE & 请记得重新设置密码 _& DBLSPACE & 注意:此方法仅用于遗忘密码使用。Const MSGNOP
3、WORDS1 As String = 该文件工作表中没有加密Const MSGNOPWORDS2 As String = 该文件工作表中没有加密2Const MSGTAKETIME As String = 请耐心等候! & DBLSPACE & 按确定开始回复Const MSGPWORDFOUND1 As String = 密码重新组合为: & DBLSPACE & $ & DBLSPACE & _如果该文件工作表有不同密码,将搜索下一组密码并修改清除Const MSGPWORDFOUND2 As String = 密码重新组合为: & DBLSPACE & $ & DBLSPACE & _如
4、果该文件工作表有不同密码,将搜索下一组密码并解除Const MSGONLYONE As String = 确保为唯一的?Dim w1 As Worksheet, w2 As WorksheetDim i As Integer, j As Integer, k As Integer, l As IntegerDim m As Integer, n As Integer, i1 As Integer, i2 As IntegerDim i3 As Integer, i4 As Integer, i5 As Integer, i6 As IntegerDim PWord1 As StringDim
5、ShTag As Boolean, WinTag As BooleanApplication.ScreenUpdating = FalseWith ActiveWorkbookWinTag = .ProtectStructure Or .ProtectWindowsEnd WithShTag = FalseFor Each w1 In WorksheetsShTag = ShTag Or w1.ProtectContentsNext w1If Not ShTag And Not WinTag ThenMsgBox MSGNOPWORDS1, vbInformation, HEADERExit
6、SubEnd IfMsgBox MSGTAKETIME, vbInformation, HEADERIf Not WinTag ThenElseOn Error Resume NextDo dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 T
7、o 66: For n = 32 To 126With 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 ThenPWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _Chr(m) & Chr(i1) & Chr(i2)
8、 & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)MsgBox Application.Substitute(MSGPWORDFOUND1, _$, PWord1), vbInformation, HEADERExit Do Bypass all for.nextsEnd IfEnd WithNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfIf WinTag And Not ShTag
9、ThenMsgBox MSGONLYONE, vbInformation, HEADERExit SubEnd IfOn Error Resume NextFor Each w1 In WorksheetsAttempt clearance with PWord1w1.Unprotect PWord1Next w1On Error GoTo 0ShTag = FalseFor Each w1 In WorksheetsChecks for all clear ShTag triggered to 1 if not.ShTag = ShTag Or w1.ProtectContentsNext
10、w1If ShTag ThenFor Each w1 In WorksheetsWith w1If .ProtectContents ThenOn Error Resume NextDo Dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 To
11、 66: For n = 32 To 126.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 Not .ProtectContents ThenPWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)MsgB
12、ox Application.Substitute(MSGPWORDFOUND2, _$, PWord1), vbInformation, HEADERleverage finding Pword by trying on other sheetsFor Each w2 In Worksheetsw2.Unprotect PWord1Next w2Exit Do Bypass all for.nextsEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfEnd WithNext w1End IfMsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK & ZHENGLI, vbInformation, HEADEREnd Sub6、关闭编辑窗口;7、依次点击菜单栏上的工具-宏-宏,选AllInternalPasswords,运行,确定两次,等候一两分钟,会出现以下对话框: 这是Excel密码对应的原始密码(此密码和之前设置的密码均能打开此文档。