撤销工作表密码保护

  • 有时工作簿太长时间没用,可能会忘掉工作表的保护密码以致无法编辑,本代码能快速有效解决此问题

有时工作簿太长时间没用,可能会忘掉工作表的保护密码以致无法编辑,本代码能快速有效解决此问题

Option ExplicitPublic Sub AllInternalPasswords()' 中断工作表和工作簿结构密码' 算法创始人Bob McCormick' Norman Harker / JE McGimpsey 2002年12月27日(1.1版)' 2003-Apr-04修改:所有msg为常量' 显示哈希密码而不是原始密码Const DBLSPACE As String = vbNewLine & vbNewLineConst 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 & VERSIONConst MSGNOPWORDS2 As String = "There was no protection to " & "workbook structure or windows." & DBLSPACE & "Proceeding to unprotect sheets." & AUTHORS & VERSIONConst 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 & VERSIONConst 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 & VERSIONConst 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 & VERSIONConst MSGONLYONE As String = "Only structure / windows " & "protected with the password that was just found." & ALLCLEAR & AUTHORS & VERSION & REPBACKDim 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 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 SubEnd IfMsgBox MSGTAKETIME, vbInformation, HEADERIf Not WinTag ThenMsgBox MSGNOPWORDS2, vbInformation, HEADERElseOn Error Resume NextDoFor 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 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) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)MsgBox Application.Substitute(MSGPWORDFOUND1, "$$", PWord1), vbInformation, HEADERExit DoEnd IfEnd WithNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfIf WinTag And Not ShTag ThenMsgBox MSGONLYONE, vbInformation, HEADERExit SubEnd IfOn Error Resume NextFor Each w1 In Worksheets'尝试用PWord1清除w1.Unprotect PWord1Next w1On Error GoTo 0ShTag = FalseFor Each w1 In Worksheets'检查所有清除ShTag是否触发为1ShTag = ShTag Or w1.ProtectContentsNext w1If ShTag ThenFor Each w1 In WorksheetsWith w1If .ProtectContents ThenOn Error Resume NextDoFor 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 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)MsgBox Application.Substitute(MSGPWORDFOUND2, "$$", PWord1), vbInformation, HEADER'尝试在其他表格上找到PasswordFor Each w2 In Worksheetsw2.Unprotect PWord1Next w2Exit DoEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfEnd WithNext w1End IfMsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADEREnd Sub

撤销EXCLE工作表保护密码相关推荐

  1. EXCEL工作表保护密码破解 宏撤销保护图文教程

    今天得到一个任务,是破解一个excel工作表的保护密码.我觉的网上的教程都挺好的,主要一点是注意excel中没有工具这一栏,需要自己去寻找出相关项. 用到的教程如下: 添加相关工具项 点击excel最 ...

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

    原文地址: https://www.mr-wu.cn/crack-excel-workbook-protection/ 其原理是通过Excel的宏功能,利用下边提供的VBA代码,来破解Excel工作表 ...

  3. Excel破解工作表保护密码

    目录: 一.破解过程 1.新建一个EXCEL文件"BOOK1",在工具栏空白位置,任意右击,选择Visual Basic项,弹出Visual Basic工具栏 2.在Visual ...

  4. EXCEL密码破解/破解工作表保护密码(详细图文教程)

    EXCEL密码破解/破解工作表保护密码(详细图文教程) 网上有很多这个代码,但很多朋友并不太了解如何运用在此做了一些整理,希望对大家有所帮助! 注:很多时候会因为忘记密码丢失重要EXCEL文件而烦恼, ...

  5. EXCEL工程加密及工作表保护密码破解方法

    1.EXCEL工程加密破解方法 新建一个EXCEL文档 打开新建的这个Excel,按下alt+F11,打开vb界面,新建一个模块,如图所示 将代码复制到这个模块中,代码如下: Private Sub ...

  6. 找回XLS工作表保护密码

    使用 VBA 代码在 Excel 中恢复丢失的工作表保护密码 以下 VBA 代码可以帮助您快速取消工作表中的原始密码. 1. 打开您之前受保护的工作表. 2. 按住 ALT + F11 键,它会打开 ...

  7. Excel2013破解vba工程密码以及工作表保护密码

    今天从网上学到如何破解vba工程密码以及工作表保护密码,在这里分享一下.  破解vba工程密码:(引用自http://jingyan.baidu.com/article/2009576170cc05c ...

  8. Excel 2013 工作表保护密码破解

    温馨提示: 此方法不适用于 一打开就要输入密码 才能查看的表格 之前整理了下 Excel 2013 的工作表保护密码破解办法 今天无意中又用到了,就分享出来吧 Tips:如果你想彻底加密你的工作表,把 ...

  9. 用VBA去除Excel工作表保护密码

    今天帮同事解决个EXCEL问题,现记在这,以作备忘 现象: 想要修改保护单元 格的内容,在使用"工具"菜单"保护"子菜单的"撤消工作表保护" ...

最新文章

  1. C++:Lambda函数学习
  2. custompage.width 不能小数吗_数学启蒙,先学分数还是先学小数?
  3. asp.net core 集成 log4net 日志框架
  4. UI进阶--Quartz2D和触摸事件的简单使用:简易涂鸦板
  5. 第十八期:网页禁止复制粘贴怎么办?教你六招轻松搞定
  6. Mysql复制-Slave库设置复制延迟
  7. 过期域名如何助力犯罪分子攻破企业防御
  8. Swagger启动报错Failed to start bean ‘documentationPluginsBootstrapper‘
  9. Open3d之点云上色
  10. 【SQL】使用SQL求1-100的质数
  11. 中国乡镇企业会计杂志中国乡镇企业会计杂志社中国乡镇企业会计编辑部2022年第12期目录
  12. 长方形面积计算机方式,《长方形面积的计算》教学设计
  13. matlab电流源,DC电压/电流源 GS200
  14. python初学者看什么书-关于 Python 的经典入门书籍有哪些?
  15. 云开发校园合伙人招募令|阿里实习生直通面试名额等你来PICK!
  16. C++ include头文件之后为什么还要在编译的时候加--lxxx
  17. MySQL【数据类型】
  18. 如何在Arch Linux搭建高效便捷的平铺式桌面
  19. 23 PPT图表链接和动画
  20. web端设计和web前端开发的区别

热门文章

  1. Java反射设置list的属性值_利用java反射比较两个实体有哪些属性值不一样
  2. 有了 elseif 为什么还要 switch case
  3. scikit-learn安装
  4. cygwin开发环境搭建与apt-cyg的应用
  5. html之属性的应用
  6. Windows驱动程序调用约定
  7. Hive 行转列,列传行 - Impala 暂不支持
  8. KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置
  9. PolarDB-X 2.0:使用一个透明的分布式数据库是一种什么体验
  10. 时序转化为图构建高效可解释的时序分析模型