Excel工作表保护宏破解教程
发布时间:2022-08-04 02:03:28
有部分Excel工作表设置了读取权限。有时候忘记了所设置的代码,作者就无法进行对工作表的编辑和修改。为了方便大家,介绍一个方法进行工作表保护机制的“缴械”处理(1)打开Excel工作表,点击工作表左上角的微软图案标志。选择Excel选项。进入选项卡,选择Excel选项。在Excel选项卡左侧选择如下功能:
A-查看宏;
B-录制宏;
C-查看权限
D-无限制的访问
E-限制访问
F-权限限制
(2)选择信任中心选项卡。进入信任中心选项卡后,选择点击信任中心设置按钮。选择宏设置选项卡的第二项单项选择:禁止所有宏,并发出通知。
(3)新建工作表,选择录制宏命令。如果是Excel2007,可以通过菜单中的开发工具进入录制宏选项卡。建立宏名称和说明,点击确定。系统开始录制宏。选择停止录制宏。
(4) 按下快捷键ALT+F8组合键,选择查看宏命令代码。写入如下代码:
ASP/Visual Basic Code复制内容到剪贴板
Public Sub 工作表保护密码破解()
Const DBLSPACE As String = vbNewLine & vbNewLine
Const AUTHORS As String = DBLSPACE & vbNewLine & _
"作者:圣天"
Const HEADER As String = "工作表保护密码破解"
Const VERSION As String = DBLSPACE & "版本 Version1.1.1"
Const REPBACK As String = DBLSPACE & ""
Const ZHENGLI As String = DBLSPACE " XXXXXXX"
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 InWorksheets
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 &39;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 &39;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 If
If WinTag And Not ShTag Then
MsgBox MSGONLYONE, vbInformation, HEADER
Exit Sub
End If
On Error Resume Next
For Each w1 InWorksheets
&39;Attempt clearance with PWord1
w1.Unprotect PWord1
Next w1
On Error GoTo 0
ShTag = False
For Each w1 InWorksheets
&39;Checks for all clear ShTag triggered to 1 if not.
ShTag = ShTag Or w1.ProtectContents
Next w1
If ShTag Then
For Each w1 InWorksheets
With w1
If .ProtectContents Then
On Error Resume Next
Do &39;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
&39;leverage finding Pword by trying on other sheets
For Each w2 InWorksheets
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
(5)写入代码完成后,保存宏命令。点击执行宏命令,等待一盏茶的时间,工作簿保护密码就“缴械”了。注意记录密码和更改密码,便于后续试用方便。
(6)特别声明:严谨用于违反犯罪行为!
猜你喜欢
- 有一些小伙伴在电脑进入睡眠状态后移动鼠标,发现无法打开电脑。移动鼠标会唤醒电脑桌面。在这种情况下,您只能通过按电源按钮来唤醒。接下来,本站将
- 在发布win10操作系统后,微软公司最近又一次发布了一款新的操作系统win10x。因此,对win10x的这次更新主要集中在图标上面。相信一直
- 在日常学习和办公中,有无法画出流程图的困扰吗?下面小编就为大家介绍在word中如何添加流程图方法,不会的朋友快快来学习吧我们在制作word文
- Word文档怎么翻译成英语?word文档想要快速翻译成英文,该怎么操作呢?下面我们就来看看word英文翻译的三种方法,详细请看下文介绍Wor
- Word2003文件打不开了,这让我怎么工作呀,前几天还用着正常,怎么今天就出现这种问题了。双击打开Word2003时,就会出现一下提示:W
- 在如今的社会上,电子版文件word文档用得越来越广泛,工作报告、思想总结、报名表.等等。但是,对于很多人来说,word文档的操作还是欠缺经验
- 1.打开需要打印的Word文档 2.点击工具栏左上角的“文件”,然后点击“选项” 3.在
- 有时我们打开word时会出现一个对话框,“Microsoft Office Word 遇到问题需要关闭。我们对此引起的不便表示抱歉。” &n
- word怎么同时旋转表格和文字?word中想要旋转表格和表格中的文字,该怎么旋转呢?下面我们就来看看详细的教程,很简单,需要的朋友可以参考下
- 在Word2010文档中,用户可以为选中的剪贴画设置多种颜色、多种粗细尺寸的实线边框或虚线边框。实际上,当用户使用Word2010预设的剪贴
- Word2013、Word2010转换Word2003文档格式的方法一、Word2013、Word2010转换20031、快捷步骤用 Wor
- 相信不少用户在使用win10电脑的时候,会经常发现以太网断掉,连接不上,那么该如何去设置win10的以太网呢?今天小编就教大家一个连接以太网
- 如何在Word 2010中将文本转换为表格?如果在发现Table命令之前就开始处理Word 2010文档,则可能已使用选项卡式文本设置了列表
- 我用的是M-O-W2007,最近做了一个文档,里面很多网上拷下来的图片,很多都有超链接,不想一个一个的取消,请高手帮忙教下有没有措施一次性都
- Win10电脑网络没有internet访问权限怎么办?我们在使用电脑的时候经常会遇到一些自己解决不了的问题,例如Win10电脑网络没有int
- Win10系统电脑怎么卸载edge浏览器?许多电脑老用户习惯使用老版系统中的浏览器,而Win10自带的edge浏览器使用不习惯,那么遇到这样
- Win10有一个非常好用的功能,就是任务栏的搜索框。这个功能在我们日常使用电脑的时候给予了我们非常大的帮助,而最近有不少用户反应,在深色模式
- 有时候,我们兴致盎然地打开word准备一天的工作时,杯具发生了,Word提示:“Word遇到问题需要关闭。我们对此引起的不便表示抱歉”。这可
- Office 2016怎么打印文档?Office 2016最新预览版该怎么使用?做好的文档怎么打印呢?下面我们一起来看看Office 201
- word 作为常用的办公软件,我们常常用它来处理一些资料,有的时候我们为了页面的完整性和查找的方便性等,需要对文档插入页码。那究竟在word