http://blog.sina.com.cn/s/blog_4cf096b80100rhfb.html
  1. Public Sub 工作表保护密码()
  2. Const DBLSPACE As String = vbNewLine & vbNewLine
  3. Const AUTHORS As String = DBLSPACE & vbNewLine & _
  4. "作者:eric"
  5. Const HEADER As String = "工作表保护密码"
  6. Const VERSION As String = DBLSPACE & "版本 Version 1.1.1"
  7. Const REPBACK As String = DBLSPACE & ""
  8. Const ZHENGLI As String = DBLSPACE & " eric"
  9. Const ALLCLEAR As String = DBLSPACE & "该工作簿中的工作表密码保护已全部解除。" & DBLSPACE & "请记得重新设置密码" _
  10. & DBLSPACE & "注意:此方法仅用于遗忘密码使用。"
  11. Const MSGNOPWORDS1 As String = "该文件工作表中没有加密"
  12. Const MSGNOPWORDS2 As String = "该文件工作表中没有加密2"
  13. Const MSGTAKETIME As String = "请耐心等候!" & DBLSPACE & "按确定开始回复"
  14. Const MSGPWORDFOUND1 As String = "密码重新组合为:" & DBLSPACE & "$$" & DBLSPACE & _
  15. "如果该文件工作表有不同密码,将搜索下一组密码并修改清除"
  16. Const MSGPWORDFOUND2 As String = "密码重新组合为:" & DBLSPACE & "$$" & DBLSPACE & _
  17. "如果该文件工作表有不同密码,将搜索下一组密码并解除"
  18. Const MSGONLYONE As String = "确保为唯一的?"
  19. Dim w1 As Worksheet, w2 As Worksheet
  20. Dim i As Integer, j As Integer, k As Integer, l As Integer
  21. Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
  22. Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
  23. Dim PWord1 As String
  24. Dim ShTag As Boolean, WinTag As Boolean
  25. Application.ScreenUpdating = False
  26. With ActiveWorkbook
  27. WinTag = .ProtectStructure Or .ProtectWindows
  28. End With
  29. ShTag = False
  30. For Each w1 In Worksheets
  31. ShTag = ShTag Or w1.ProtectContents
  32. Next w1
  33. If Not ShTag And Not WinTag Then
  34. MsgBox MSGNOPWORDS1, vbInformation, HEADER
  35. Exit Sub
  36. End If
  37. MsgBox MSGTAKETIME, vbInformation, HEADER
  38. If Not WinTag Then
  39. Else
  40. On Error Resume Next
  41. Do 'dummy do loop
  42. For i = To : For j = To : For k = To
  43. For l = To : For m = To : For i1 = To
  44. For i2 = To : For i3 = To : For i4 = To
  45. For i5 = To : For i6 = To : For n = To
  46. With ActiveWorkbook
  47. .Unprotect Chr(i) & Chr(j) & Chr(k) & _
  48. Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
  49. Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  50. If .ProtectStructure = False And _
  51. .ProtectWindows = False Then
  52. PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
  53. Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  54. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  55. MsgBox Application.Substitute(MSGPWORDFOUND1, _
  56. "$$", PWord1), vbInformation, HEADER
  57. Exit Do 'Bypass all for...nexts
  58. End If
  59. End With
  60. Next: Next: Next: Next: Next: Next
  61. Next: Next: Next: Next: Next: Next
  62. Loop Until True
  63. On Error GoTo
  64. End If
  65. If WinTag And Not ShTag Then
  66. MsgBox MSGONLYONE, vbInformation, HEADER
  67. Exit Sub
  68. End If
  69. On Error Resume Next
  70. For Each w1 In Worksheets
  71. 'Attempt clearance with PWord1
  72. w1.Unprotect PWord1
  73. Next w1
  74. On Error GoTo
  75. ShTag = False
  76. For Each w1 In Worksheets
  77. 'Checks for all clear ShTag triggered to 1 if not.
  78. ShTag = ShTag Or w1.ProtectContents
  79. Next w1
  80. If ShTag Then
  81. For Each w1 In Worksheets
  82. With w1
  83. If .ProtectContents Then
  84. On Error Resume Next
  85. Do 'Dummy do loop
  86. For i = To : For j = To : For k = To
  87. For l = To : For m = To : For i1 = To
  88. For i2 = To : For i3 = To : For i4 = To
  89. For i5 = To : For i6 = To : For n = To
  90. .Unprotect Chr(i) & Chr(j) & Chr(k) & _
  91. Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  92. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  93. If Not .ProtectContents Then
  94. PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
  95. Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
  96. Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  97. MsgBox Application.Substitute(MSGPWORDFOUND2, _
  98. "$$", PWord1), vbInformation, HEADER
  99. 'leverage finding Pword by trying on other sheets
  100. For Each w2 In Worksheets
  101. w2.Unprotect PWord1
  102. Next w2
  103. Exit Do 'Bypass all for...nexts
  104. End If
  105. Next: Next: Next: Next: Next: Next
  106. Next: Next: Next: Next: Next: Next
  107. Loop Until True
  108. On Error GoTo
  109. End If
  110. End With
  111. Next w1
  112. End If
  113. MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK & ZHENGLI, vbInformation, HEADER
  114. End Sub

[转]Excel 工作表保护密码移除的更多相关文章

  1. 破解EXCEL工作表保护密码

    神技 破解EXCEL工作表保护密码 http://www.mr-wu.cn/crack-excel-workbook-protection/ 我们可以通过新建工作本,来创建一个新的工作本来创造新的宏而 ...

  2. 方法一破解:Excel工作表保护密码

    在excel2016中实测验证过有效 在Excel中,为了保护自已的工作表不被修改,我们可以添加保护密码. 操作步骤: 1.把Excel文件的扩展名xlsx修改为Rar.瞬间Excel文件变成了压缩包 ...

  3. 方法二破解:Excel工作表保护密码

    最简单,复制整表,粘贴在全新的表中.但是有时候会丢失一些元素 在excel2016中实测验证过有效 第1步:在工作表菜单栏上添加[开发工具].方法是:依次单击[文件]--->[选项]---> ...

  4. EXCEL工作表保护密码忘记了,如何撤消工作表保护?

    按下面步骤操作,如果不会发邮件给我吧 SamRichard@live.cn 1\打开文件 2\工具---宏----录制新宏---输入名字如:aa 3\停止录制(这样得到一个空宏) 4\工具---宏-- ...

  5. 方法三破解:Excel工作表保护密码

    Sub PasswordBreaker()  Dim i As Integer, j As Integer, k As Integer  Dim l As Integer, m As Integer, ...

  6. Excel—“撤销工作表保护密码”的破解并获取原始密码

    您是否遇到过这样的情况:您用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能,但时间久了保护 ...

  7. 转:Excel—“撤销工作表保护密码”的破解并获取原始密码

    在日常工作中,您是否遇到过这样的情况:您用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能, ...

  8. EXCEL密码破解/破解工作表保护密码

    网上有很多这个代码,但很多朋友并不太了解如何运用在此做了一些整理,希望对大家有所帮助! 注:很多时候会因为忘记密码丢失重要EXCEL文件而烦恼,这份代码就能帮你找回,仅仅出之这个初衷,如因为这个代码让 ...

  9. Excel工作表保护的密码破解与清除...假装自己破解密码系列?

    有一次我女朋友让我帮忙解一个excel表格的保护密码,然后~用了宏 网上下载来的Excel经常会有工作表保护,也就是无法修改,妄图做任何修改的时候你就会看见这句话: 您试图更改的单元格或图表位于受保护 ...

随机推荐

  1. hibernate中3个重要的类 Configuration SessionFactory Session

    配置类Configuration 主要负责管理hibernate的配置信息以及启动hibernate,在hibernate运行时,配置文件取读底层的配置信息,基本包括数据库驱动,url.usernam ...

  2. pl/sql中误删表中数据并提交恢复办法

    最近在操作表中数据时,删除了表中数据,但是又想恢复,后来查到了官方的一篇文档,发现还蛮有用的,如下: 在pl/sql中运行,select * from A as of TIMESTAMP to_tim ...

  3. select * from v$reserved_words

    select * from v$reserved_words 查询库中所有关键字

  4. 目录遍历漏洞简介 转载于h3c

    参考文章: 攻防:目录遍历漏洞简介

  5. 什么叫做VC维

    参考<机器学习导论> 假设我们有一个数据集,包含N个点.这N个点可以用2N种方法标记为正例和负例.因此,N个数据点可以定义2N种不同的学习问题.如果对于这些问题中的任何一个,我们都能够找到 ...

  6. what is bitcoin

  7. 高并发中nginx较优的配置

    一.这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项: 1.nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数. wor ...

  8. [LeetCode&Python] Problem 557. Reverse Words in a String III

    Given a string, you need to reverse the order of characters in each word within a sentence while sti ...

  9. Unity 3D开发-C#脚本语言的一些基础用法

    Unity 中C#语言的一些基础用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Lerp -- 线 ...

  10. 20155229 2016-2017-2 《Java程序设计》第五周学习总结

    20155229 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章: Java中所有错误都会被打包为对象. 设计错误对象都继承自java.lang.Th ...