快生活 - 生活常识大全

如何破解工作表保护密码忘记密码怎么办


  EXCEL工作表保护密码忘记密码怎么办,快速学起来
  操作方法
  01:
  新建一个EXCEL工作表,而后点击另存为,讲表格保存为启用宏的工作表   02:
  一次点击开发工具---录制新宏,在弹出的对话框内修改宏名称而后确定   03:
  依次点击开发工具----停止录制宏,宏录制完成   04:
  依次点击开发工具,---宏----在弹出的对话框找到我们刚才录制的宏名称而后进入VBA界面   05:
  在VBA界面,全选里面的代码,而后删除,讲里面的代码全部删除完   06:
  代码复制到VBA编辑窗口内   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 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 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 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. Don"t stuff up crucial formulas " & _   "or data." & DBLSPACE & "Access and use of some data " & _   "may be an offense. If in doubt, don"t."   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 structure 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 computer"s specification." & DBLSPACE & _   "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 person 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 workbooks 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 Worksheet   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 ActiveWorkbook   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   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 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   Next: Next: Next: Next: Next: Next   Loop Until True   On Error GoTo 0   End If   If WinTag And Not ShTag Then   MsgBox MSGONLYONE, vbInformation, HEADER   Exit Sub   End If   On Error Resume Next   For Each w1 In Worksheets   "Attempt clearance with PWord1   w1.Unprotect PWord1   Next w1   On Error GoTo 0   ShTag = False   For Each w1 In Worksheets   "Checks for all clear ShTag triggered to 1 if not.   ShTag = ShTag Or w1.ProtectContents   Next w1   If ShTag Then   For Each w1 In Worksheets   With w1   If .ProtectContents Then   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 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 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(MSGPWORDFOUND2, _   "$$", PWord1), vbInformation, HEADER   "leverage finding Pword by trying on other sheets   For Each w2 In Worksheets   w2.Unprotect PWord1   Next w2   Exit Do "Bypass all for...nexts   End If   Next: Next: Next: Next: Next: Next   Next: Next: Next: Next: Next: Next   Loop Until True   On Error GoTo 0   End If   End With   Next w1   End If   MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER   End Sub   点击保存   07:
  点击开发工具,宏,找到我们刚才录制的宏,点击执行宏   08:
  而后,在弹出的所有对话框上,都点击确定,都确定,1分钟后,就可以编辑了   特别提示   本方法仅适用于2007-2016版本
网站目录投稿:沛灵