设为首页收藏本站

莆田恒心技术学校

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2158|回复: 6

[教程] 教你用宏破解EXCEL保护工作表密码

[复制链接]
发表于 2012-12-17 20:57:25 | 显示全部楼层 |阅读模式
使用方法:
1.工具---宏---录制新宏---(随便起个名字)---确定
2.停止录制
3.工具---宏---宏---(找到刚才命名那个宏)--- 编辑---(将下面的代码一个不剩复制粘贴)---退出
4.工具---宏---宏---执行刚才的宏
剩下来就只能等待几分钟就成功了。
如果你想下次再破解,可以不另存EXCEL文档
  1. Option Explicit

  2. Public Sub AllInternalPasswords()
  3. ' Breaks worksheet and workbook structure passwords. Bob McCormick
  4. ' probably originator of base code algorithm modified for coverage
  5. ' of workbook structure / windows passwords and for multiple passwords
  6. '
  7. ' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1)
  8. ' Modified 2003-Apr-04 by JEM: All msgs to constants, and
  9. ' eliminate one Exit Sub (Version 1.1.1)
  10. ' Reveals hashed passwords NOT original passwords
  11. Const DBLSPACE As String = vbNewLine & vbNewLine
  12. Const AUTHORS As String = DBLSPACE & vbNewLine & _
  13. "Adapted from Bob McCormick base code by" & _
  14. "Norman Harker and JE McGimpsey"
  15. Const HEADER As String = "AllInternalPasswords User Message"
  16. Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04"
  17. Const REPBACK As String = DBLSPACE & "Please report failure " & _
  18. "to the microsoft.public.excel.programming newsgroup."
  19. Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _
  20. "now be free of all password protection, so make sure you:" & _
  21. DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _
  22. DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _
  23. DBLSPACE & "Also, remember that the password was " & _
  24. "put there for a reason. Don't stuff up crucial formulas " & _
  25. "or data." & DBLSPACE & "Access and use of some data " & _
  26. "may be an offense. If in doubt, don't."
  27. Const MSGNOPWORDS1 As String = "There were no passwords on " & _
  28. "sheets, or workbook structure or windows." & AUTHORS & VERSION
  29. Const MSGNOPWORDS2 As String = "There was no protection to " & _
  30. "workbook structure or windows." & DBLSPACE & _
  31. "Proceeding to unprotect sheets." & AUTHORS & VERSION
  32. Const MSGTAKETIME As String = "After pressing OK button this " & _
  33. "will take some time." & DBLSPACE & "Amount of time " & _
  34. "depends on how many different passwords, the " & _
  35. "passwords, and your computer's specification." & DBLSPACE & _
  36. "Just be patient! Make me a coffee!" & AUTHORS & VERSION
  37. Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _
  38. "Structure or Windows Password set." & DBLSPACE & _
  39. "The password found was: " & DBLSPACE & "$" & DBLSPACE & _
  40. "Note it down for potential future use in other workbooks by " & _
  41. "the same person who set this password." & DBLSPACE & _
  42. "Now to check and clear other passwords." & AUTHORS & VERSION
  43. Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _
  44. "password set." & DBLSPACE & "The password found was: " & _
  45. DBLSPACE & "$" & DBLSPACE & "Note it down for potential " & _
  46. "future use in other workbooks by same person who " & _
  47. "set this password." & DBLSPACE & "Now to check and clear " & _
  48. "other passwords." & AUTHORS & VERSION
  49. Const MSGONLYONE As String = "Only structure / windows " & _
  50. "protected with the password that was just found." & _
  51. ALLCLEAR & AUTHORS & VERSION & REPBACK
  52. Dim w1 As Worksheet, w2 As Worksheet
  53. Dim i As Integer, j As Integer, k As Integer, l As Integer
  54. Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
  55. Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
  56. Dim PWord1 As String
  57. Dim ShTag As Boolean, WinTag As Boolean

  58. Application.ScreenUpdating = False
  59. With ActiveWorkbook
  60. WinTag = .ProtectStructure Or .ProtectWindows
  61. End With
  62. ShTag = False
  63. For Each w1 In Worksheets
  64. ShTag = ShTag Or w1.ProtectContents
  65. Next w1
  66. If Not ShTag And Not WinTag Then
  67. MsgBox MSGNOPWORDS1, vbInformation, HEADER
  68. Exit Sub
  69. End If
  70. MsgBox MSGTAKETIME, vbInformation, HEADER
  71. If Not WinTag Then
  72. MsgBox MSGNOPWORDS2, vbInformation, HEADER
  73. Else
  74. On Error Resume Next
  75. Do 'dummy do loop
  76. For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
  77. For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
  78. For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
  79. For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
  80. With ActiveWorkbook
  81. .Unprotect Chr(i) & Chr(j) & Chr(k) & _
  82. Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
  83. Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  84. If .ProtectStructure = False And _
  85. .ProtectWindows = False Then
  86. PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
  87. Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  88. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  89. MsgBox Application.Substitute(MSGPWORDFOUND1, _
  90. "$", PWord1), vbInformation, HEADER
  91. Exit Do 'Bypass all for...nexts
  92. End If
  93. End With
  94. Next: Next: Next: Next: Next: Next
  95. Next: Next: Next: Next: Next: Next
  96. Loop Until True
  97. On Error GoTo 0
  98. End If
  99. If WinTag And Not ShTag Then
  100. MsgBox MSGONLYONE, vbInformation, HEADER
  101. Exit Sub
  102. End If
  103. On Error Resume Next
  104. For Each w1 In Worksheets
  105. 'Attempt clearance with PWord1
  106. w1.Unprotect PWord1
  107. Next w1
  108. On Error GoTo 0
  109. ShTag = False
  110. For Each w1 In Worksheets
  111. 'Checks for all clear ShTag triggered to 1 if not.
  112. ShTag = ShTag Or w1.ProtectContents
  113. Next w1
  114. If ShTag Then
  115. For Each w1 In Worksheets
  116. With w1
  117. If .ProtectContents Then
  118. On Error Resume Next
  119. Do 'Dummy do loop
  120. For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
  121. For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
  122. For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
  123. For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
  124. .Unprotect Chr(i) & Chr(j) & Chr(k) & _
  125. Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  126. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  127. If Not .ProtectContents Then
  128. PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
  129. Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  130. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  131. MsgBox Application.Substitute(MSGPWORDFOUND2, _
  132. "$", PWord1), vbInformation, HEADER
  133. 'leverage finding Pword by trying on other sheets
  134. For Each w2 In Worksheets
  135. w2.Unprotect PWord1
  136. Next w2
  137. Exit Do 'Bypass all for...nexts
  138. End If
  139. Next: Next: Next: Next: Next: Next
  140. Next: Next: Next: Next: Next: Next
  141. Loop Until True
  142. On Error GoTo 0
  143. End If
  144. End With
  145. Next w1
  146. End If
  147. MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER
  148. End Sub
复制代码
回复

使用道具 举报

发表于 2013-2-17 05:32:10 | 显示全部楼层
謝謝,希望以後多些












低碳生活, bbs.stoo.cn
回复 支持 反对

使用道具 举报

 发表于 2013-2-17 11:17:28
回复 支持 反对

使用道具

发表于 2013-2-25 15:04:39 | 显示全部楼层
我都不会啊
回复 支持 反对

使用道具 举报

发表于 2013-4-17 22:49:05 | 显示全部楼层
我顶啊。接着顶











福州代理记账tianlong518.com/news/class/?95.html
回复 支持 反对

使用道具 举报

发表于 2013-6-15 19:38:12 | 显示全部楼层
好人一个啊












低碳生活, bbs.stoo.cn   高清电影  百度影音
回复 支持 反对

使用道具 举报

发表于 2016-10-31 09:07:30 | 显示全部楼层
没有问题,坚决支持











猜謎語題目    謎語大全     範文大全   名言大全   愛情小語   2016年10月31日 勵志歌曲
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|莆田恒心技术学校   

GMT+8, 2017-10-19 02:30 , Processed in 0.218750 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表