Excel表格密码忘记处理方法

overme3个月前 (10-17)办公软件教程227
如果你遇到忘记Excel文档密码的情况,希望本文对你有所帮助!

excel表格密码破解方法:

  1、打开您需要破解保护密码的Excel文件;

  2、依次点击菜单栏上的工具—宏—-录制新宏,输入宏名字如:aa;

  3、停止录制(这样得到一个空宏);

  4、依次点击菜单栏上的工具—宏—-宏,选aa,点编辑按钮;

  5、删除窗口中的所有字符(只有几个),替换为下面的内容;

从横线下开始复制

  ——————————————————————————————

  Option Explicit

  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

  —————————————————————————————–

  复制到横线以上

  6、关闭编辑窗口;

  7、依次点击菜单栏上的工具—宏—–宏,选AllInternalPasswords,运行,确定两次;

  等一会,就会出现以下对话框:这就是Excel密码对应的原始密码(此密码和原先设置的密码都能打开此文档。如果是别人的文档,你又想恢复密码设置,就可以用此密码进行保护,他就能用他设置的密码打开,你可以试试,很有趣的。字母一定要大写)。

相关文章


		将Excel中的数据随机打乱重新排序

将Excel中的数据随机打乱重新排序

如下图所示,Excel中拿到了一组已经从大到小排序的数据。通过数据制作散点图时,数据高的点集中在左侧,没有达到散点分布的要求。 这个时候,需要随机打乱Excel中的原始数据,进行重新排序生成散点图...


		设置和隐藏excel打印预览虚线

设置和隐藏excel打印预览虚线

使用Excel制作资料时,如果需要打印,为了知道打印的效果,最好是在Excel中显示打印预览虚线。 这样可以知道哪些内容显示在一页中,如果显示不在一页,那就手动调整相关内容,比如字体大小和行距大小...


		Excel单元格文字添加删除线效果

Excel单元格文字添加删除线效果

删除线,是文字垂直中间位置有一条线穿过的文字效果。 工作中制作各类报告数据时,可能会有使用到需给文字添加删除线效果的情况。 Word文档中,可以通过文本选项快速的应用删除线效果,大家很容易发现。那...


		Excel按enter键朗读单元格内容

Excel按enter键朗读单元格内容

最近同事使用Excel按Enter键后,系统会自动朗读播放内容。开始以为是搜狗输入法的功能,后面弄清楚了,原来是Excel集成的朗读单元格功能。 Excel朗读单元格功能,如下图所示,点击该图标激...


		Excel中20以上带圈数字输入方法

Excel中20以上带圈数字输入方法

很多人在使用Excel时,遇到需要输入带圈数字的情况,都可以通过插入->符号,输入10以内或者20以内的带圈数字。 很少遇到需要输入20以上带圈数字的情况,如果遇到了,该怎么输入呢? 以下分...


		如何取消Excel左侧第一列的隐藏列

如何取消Excel左侧第一列的隐藏列

如下图所示,小编的Excel文件,第一列A列被隐藏了。如果想要让隐藏的A列显示出来,该怎么操作呢! 取消隐藏方法: 1、鼠标移动到B列左侧边缘,上图箭头所示位置,光标变成2条竖线加左右箭头时。鼠...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。