[转]Excel 工作表保护密码移除
- Public Sub 工作表保护密码()
- Const DBLSPACE As String = vbNewLine & vbNewLine
- Const AUTHORS As String = DBLSPACE & vbNewLine & _
- "作者:eric"
- Const HEADER As String = "工作表保护密码"
- Const VERSION As String = DBLSPACE & "版本 Version 1.1.1"
- Const REPBACK As String = DBLSPACE & ""
- Const ZHENGLI As String = DBLSPACE & " eric"
- 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 = To : For j = To : For k = To
- For l = To : For m = To : For i1 = To
- For i2 = To : For i3 = To : For i4 = To
- For i5 = To : For i6 = To : For n = To
- 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
- 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
- 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 = To : For j = To : For k = To
- For l = To : For m = To : For i1 = To
- For i2 = To : For i3 = To : For i4 = To
- For i5 = To : For i6 = To : For n = To
- .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
- End If
- End With
- Next w1
- End If
- MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK & ZHENGLI, vbInformation, HEADER
- End Sub
[转]Excel 工作表保护密码移除的更多相关文章
- 破解EXCEL工作表保护密码
神技 破解EXCEL工作表保护密码 http://www.mr-wu.cn/crack-excel-workbook-protection/ 我们可以通过新建工作本,来创建一个新的工作本来创造新的宏而 ...
- 方法一破解:Excel工作表保护密码
在excel2016中实测验证过有效 在Excel中,为了保护自已的工作表不被修改,我们可以添加保护密码. 操作步骤: 1.把Excel文件的扩展名xlsx修改为Rar.瞬间Excel文件变成了压缩包 ...
- 方法二破解:Excel工作表保护密码
最简单,复制整表,粘贴在全新的表中.但是有时候会丢失一些元素 在excel2016中实测验证过有效 第1步:在工作表菜单栏上添加[开发工具].方法是:依次单击[文件]--->[选项]---> ...
- EXCEL工作表保护密码忘记了,如何撤消工作表保护?
按下面步骤操作,如果不会发邮件给我吧 SamRichard@live.cn 1\打开文件 2\工具---宏----录制新宏---输入名字如:aa 3\停止录制(这样得到一个空宏) 4\工具---宏-- ...
- 方法三破解:Excel工作表保护密码
Sub PasswordBreaker() Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, ...
- Excel—“撤销工作表保护密码”的破解并获取原始密码
您是否遇到过这样的情况:您用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能,但时间久了保护 ...
- 转:Excel—“撤销工作表保护密码”的破解并获取原始密码
在日常工作中,您是否遇到过这样的情况:您用Excel编制的报表.表格.程序等,在单元格中设置了公式.函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能, ...
- EXCEL密码破解/破解工作表保护密码
网上有很多这个代码,但很多朋友并不太了解如何运用在此做了一些整理,希望对大家有所帮助! 注:很多时候会因为忘记密码丢失重要EXCEL文件而烦恼,这份代码就能帮你找回,仅仅出之这个初衷,如因为这个代码让 ...
- Excel工作表保护的密码破解与清除...假装自己破解密码系列?
有一次我女朋友让我帮忙解一个excel表格的保护密码,然后~用了宏 网上下载来的Excel经常会有工作表保护,也就是无法修改,妄图做任何修改的时候你就会看见这句话: 您试图更改的单元格或图表位于受保护 ...
随机推荐
- hibernate中3个重要的类 Configuration SessionFactory Session
配置类Configuration 主要负责管理hibernate的配置信息以及启动hibernate,在hibernate运行时,配置文件取读底层的配置信息,基本包括数据库驱动,url.usernam ...
- pl/sql中误删表中数据并提交恢复办法
最近在操作表中数据时,删除了表中数据,但是又想恢复,后来查到了官方的一篇文档,发现还蛮有用的,如下: 在pl/sql中运行,select * from A as of TIMESTAMP to_tim ...
- select * from v$reserved_words
select * from v$reserved_words 查询库中所有关键字
- 目录遍历漏洞简介 转载于h3c
参考文章: 攻防:目录遍历漏洞简介
- 什么叫做VC维
参考<机器学习导论> 假设我们有一个数据集,包含N个点.这N个点可以用2N种方法标记为正例和负例.因此,N个数据点可以定义2N种不同的学习问题.如果对于这些问题中的任何一个,我们都能够找到 ...
- what is bitcoin
- 高并发中nginx较优的配置
一.这里的优化主要是指对nginx的配置优化,一般来说nginx配置文件中对优化比较有作用的主要有以下几项: 1.nginx进程数,建议按照cpu数目来指定,一般跟cpu核数相同或为它的倍数. wor ...
- [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 ...
- Unity 3D开发-C#脚本语言的一些基础用法
Unity 中C#语言的一些基础用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Lerp -- 线 ...
- 20155229 2016-2017-2 《Java程序设计》第五周学习总结
20155229 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章: Java中所有错误都会被打包为对象. 设计错误对象都继承自java.lang.Th ...