如何破解Excel工作表保护宏?
A-查看宏;
B-录制宏;
C-查看权限
D-无限制的访问
E-限制访问
F-权限限制
(2)选择信任中心选项卡。进入信任中心选项卡后,选择点击信任中心设置按钮。选择宏设置选项卡的第二项单项选择:禁止所有宏,并发出通知。
(3)新建工作表,选择录制宏命令。如果是Excel2007,可以通过菜单中的开发工具进入录制宏选项卡。建立宏名称和说明,点击确定。系统开始录制宏。选择停止录制宏。
(4) 按下快捷键ALT+F8组合键,选择查看宏命令代码。写入如下代码:
ASP/Visual Basic Code复制内容到剪贴板
- PublicSub工作表保护密码破解()
- ConstDBLSPACEAsString=vbNewLine&vbNewLine
- ConstAUTHORSAsString=DBLSPACE&vbNewLine&_
- "作者:圣天"
- ConstHEADERAsString="工作表保护密码破解"
- ConstVERSIONAsString=DBLSPACE&"版本Version1.1.1"
- ConstREPBACKAsString=DBLSPACE&""
- ConstZHENGLIAsString=DBLSPACE"XXXXXXX"
- ConstALLCLEARAsString=DBLSPACE&"该工作簿中的工作表密码保护已全部解除!!"&DBLSPACE&"请记得另保存"_
- &DBLSPACE&"注意:不要用在不当地方,要尊重他人的劳动成果!"
- ConstMSGNOPWORDS1AsString="该文件工作表中没有加密"
- ConstMSGNOPWORDS2AsString="该文件工作表中没有加密2"
- ConstMSGTAKETIMEAsString="解密需花费一定时间,请耐心等候!"&DBLSPACE&"按确定开始破解!"
- ConstMSGPWORDFOUND1AsString="密码重新组合为:"&DBLSPACE&"$$"&DBLSPACE&_
- "如果该文件工作表有不同密码,将搜索下一组密码并修改清除"
- ConstMSGPWORDFOUND2AsString="密码重新组合为:"&DBLSPACE&"$$"&DBLSPACE&_
- "如果该文件工作表有不同密码,将搜索下一组密码并解除"
- ConstMSGONLYONEAsString="确保为唯一的?"
- Dimw1AsWorksheet,w2AsWorksheet
- DimiAsInteger,jAsInteger,kAsInteger,lAsInteger
- DimmAsInteger,nAsInteger,i1AsInteger,i2AsInteger
- Dimi3AsInteger,i4AsInteger,i5AsInteger,i6AsInteger
- DimPWord1AsString
- DimShTagAsBoolean,WinTagAsBoolean
- Application.ScreenUpdating=False
- WithActiveWorkbook
- WinTag=.ProtectStructureOr.ProtectWindows
- EndWith
- ShTag=False
- ForEachw1InWorksheets
- ShTag=ShTagOrw1.ProtectContents
- Nextw1
- IfNotShTagAndNotWinTagThen
- MsgBoxMSGNOPWORDS1,vbInformation,HEADER
- ExitSub
- EndIf
- MsgBoxMSGTAKETIME,vbInformation,HEADER
- IfNotWinTagThen
- Else
- OnErrorResumeNext
- Do&39;dummydoloop
- Fori=65To66:Forj=65To66:Fork=65To66
- Forl=65To66:Form=65To66:Fori1=65To66
- Fori2=65To66:Fori3=65To66:Fori4=65To66
- Fori5=65To66:Fori6=65To66:Forn=32To126
- WithActiveWorkbook
- .UnprotectChr(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=FalseAnd_
- .ProtectWindows=FalseThen
- 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)
- MsgBoxApplication.Substitute(MSGPWORDFOUND1,_
- "$$",PWord1),vbInformation,HEADER
- ExitDo&39;Bypassallfor...nexts
- EndIf
- EndWith
- Next:Next:Next:Next:Next:Next
- Next:Next:Next:Next:Next:Next
- LoopUntilTrue
- OnErrorGoTo0
- EndIf
- IfWinTagAndNotShTagThen
- MsgBoxMSGONLYONE,vbInformation,HEADER
- ExitSub
- EndIf
- OnErrorResumeNext
- ForEachw1InWorksheets
- &39;AttemptclearancewithPWord1
- w1.UnprotectPWord1
- Nextw1
- OnErrorGoTo0
- ShTag=False
- ForEachw1InWorksheets
- &39;ChecksforallclearShTagtriggeredto1ifnot.
- ShTag=ShTagOrw1.ProtectContents
- Nextw1
- IfShTagThen
- ForEachw1InWorksheets
- Withw1
- If.ProtectContentsThen
- OnErrorResumeNext
- Do&39;Dummydoloop
- Fori=65To66:Forj=65To66:Fork=65To66
- Forl=65To66:Form=65To66:Fori1=65To66
- Fori2=65To66:Fori3=65To66:Fori4=65To66
- Fori5=65To66:Fori6=65To66:Forn=32To126
- .UnprotectChr(i)&Chr(j)&Chr(k)&_
- Chr(l)&Chr(m)&Chr(i1)&Chr(i2)&Chr(i3)&_
- Chr(i4)&Chr(i5)&Chr(i6)&Chr(n)
- IfNot.ProtectContentsThen
- 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)
- MsgBoxApplication.Substitute(MSGPWORDFOUND2,_
- "$$",PWord1),vbInformation,HEADER
- &39;leveragefindingPwordbytryingonothersheets
- ForEachw2InWorksheets
- w2.UnprotectPWord1
- Nextw2
- ExitDo'Bypassallfor...nexts
- EndIf
- Next:Next:Next:Next:Next:Next
- Next:Next:Next:Next:Next:Next
- LoopUntilTrue
- OnErrorGoTo0
- EndIf
- EndWith
- Nextw1
- EndIf
- MsgBoxALLCLEAR&AUTHORS&VERSION&REPBACK&ZHENGLI,vbInformation,HEADER
- EndSub
(5)写入代码完成后,保存宏命令。点击执行宏命令,等待一盏茶的时间,工作簿保护密码就“缴械”了。注意记录密码和更改密码,便于后续试用方便。
(6)特别声明:严谨用于违反犯罪行为!
本文地址:http://www.45fan.com/dnjc/19970.html