转自:Excel,遗忘密码后如何撤销工作表保护密码_LuckyJoey的博客-CSDN博客_excel撤销工作表保护

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

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

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

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

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

Public Sub 工作表保护密码()
Const DBLSPACE As String = vbNewLine & vbNewLine
Const AUTHORS As String = DBLSPACE & vbNewLine
Const HEADER As String = "工作表保护密码"
Const VERSION As String = DBLSPACE & "版本 Version 1.1.2"
Const REPBACK As String = DBLSPACE & ""
Const ZHENGLI As String = DBLSPACE & "                  "
Const ALLCLEAR As String = DBLSPACE & "该工作簿中的工作表密码保护已全部解除。" & DBLSPACE & "请记得重新设置密码" _
& DBLSPACE & "注意:此方法仅用于遗忘密码使用。"
Const MSGNOPWORDS1 As String = "该文件工作表中没有加密"
Const MSGNOPWORDS2 As String = "该文件工作表中没有加密2"
Const MSGTAKETIME As String = "请耐心等候!" & DBLSPACE & "按确定开始回复"
Const MSGPWORDFOUND1 As String = "密码重新组合为:" & DBLSPACE & "$$" & DBLSPACE & _
"如果该文件工作表有不同密码,将搜索下一组密码并修改清除"
Const MSGPWORDFOUND2 As String = "密码重新组合为:" & DBLSPACE & "$$" & DBLSPACE & _
"如果该文件工作表有不同密码,将搜索下一组密码并解除"
Const MSGONLYONE As String = "确保为唯一的?"
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
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 IfIf WinTag And Not ShTag Then
MsgBox MSGONLYONE, vbInformation, HEADER
Exit Sub
End If
On Error Resume NextFor 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 & ZHENGLI, vbInformation, HEADER
End Sub

6、关闭编辑窗口;

7、依次点击菜单栏上的工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等候一两分钟,会出现以下对话框:

这是Excel密码对应的原始密码(此密码和之前设置的密码均能打开此文档。

【Excel,遗忘密码后如何撤销工作表保护密码】相关推荐

  1. excel撤销工作表保护默认密码_我的表格我做主:Excel工作表不想被别人改动,设置一个密码保护...

    工作中,一个Excel表格需要多人填充数据时.或者发给同事的表格只允许查看时,不想表格回来时已面目全非. 今天小编教你设置工作表保护密码,不需要再三叮嘱,只允许查看表格数据的整体设置保护,需要多人填充 ...

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

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

  3. Excel撤销工作表保护方法(Excel无法调节列宽解决办法)

    Excel撤销工作表保护方法 前言 1.Excel工作表保护表现 2.忘记密码如何清除Excel的密码保护 1.第一步:录制宏 2.第二步:结束宏 3.第三步:编辑宏脚本 4.运行结果 前言 在某工作 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 记一次“曲折“的MySQL数据导出
  2. 正则表达式的一些探索(偏JavaScript)
  3. 海洋分享lol皮肤插件_LOL战斗之夜客户端BUG频出服务器爆满!如何提前领取皮肤?...
  4. SQL 与 ORACLE 的比较
  5. 找零兑换(递归解法)
  6. 苏宁回应“股权质押”:正常商业合作
  7. activity中获取fragment布局_安卓开发入门教程Fragment
  8. ECMAScript 发展历史
  9. 最长回文子串--动态规划
  10. Mac(不限于)中几个有内涵的工具
  11. R语言系列:分布一致性和离散一致性检验
  12. Invest模型 ——生境质量计算
  13. Windows切换内外网ip
  14. 计算机键盘中复制粘贴快捷键,电脑复制粘贴快捷键,教您电脑怎么用键盘复制粘贴...
  15. C语言_写一个函数:求给定数组的中位数
  16. 面阵相机该如何选型?
  17. Matlab读取CSV文件,并进行矩阵处理
  18. android apk兼容性测试工具,APP兼容性测试工具有哪些?
  19. 已知补码如何求原码、真值
  20. 统筹在项目中的重要性

热门文章

  1. po 价格条件表_SAP 定价
  2. 史上最全微信运营工具
  3. dubbo源码解析-spi(四)
  4. 一次数学分析的教学(依然进行中)
  5. MATLAB信号处理——信号与系统的分析基础(4)
  6. 三角网导线平差实例_三角网间接平差示例
  7. opencv——Mat 矩阵数据类型转换convertTo
  8. for能否作为matlab的变量名,matlab中for语句用法
  9. 解决Ubuntu 显卡驱动升级导致的 显卡驱动和内核版本不匹配的问题
  10. java 反编译 重新打包_「反编译apk」一步一步带你反编译apk,并教你修改smali和重新打包 - seo实验室...