1、撤销工作薄保护的程序应用Excel“撤销工作表保护密码”的破解在日常工作中,您是否遇到过这样的情况:您用Excel编制的报表、表格、程序等,在单元格中设置了公式、函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能,但时间久了保护密码容易忘记,这该怎么办?有时您从网上下载的Excel格式的小程序,您想修改,但是作者加了工作表保护密码,怎么办?您只要按照以下步骤操作,Excel工作表保护密码瞬间即破!(2007版的文件有更简洁的方法,在本文最后有介绍)1、打开您需要破解保护密码的Excel文件;2、依次点击菜单栏上的工具-宏-录制新宏,输入宏名字如:
2、aa;3、停止录制(这样得到一个空宏);4、依次点击菜单栏上的工具-宏-宏,选aa,点编辑按钮;5、删除窗口中的所有字符(只有几个),替换为下面的内容;从横线下开始复制-OptionExplicitPublicSubAllInternalPasswords()Breaksworksheetandworkbookstructurepasswords.BobMcCormickprobablyoriginatorofbasecodealgorithmmodifiedforcoverageofworkbookstructure/windowspasswordsandformultiplepasswor
3、dsNormanHarkerandJEMcGimpsey27-Dec-2002(Version1.1)Modified2003-Apr-04byJEM:Allmsgstoconstants,andeliminateoneExitSub(Version1.1.1)RevealshashedpasswordsNOToriginalpasswordsConstDBLSPACEAsString=vbNewLine&vbNewLineConstAUTHORSAsString=DBLSPACE&vbNewLine&_AdaptedfromBobMcCormickbasecodeby&_NormanHark
4、erandJEMcGimpseyConstHEADERAsString=AllInternalPasswordsUserMessageConstVERSIONAsString=DBLSPACE&Version1.1.12003-Apr-04ConstREPBACKAsString=DBLSPACE&Pleasereportfailure&_tothemicrosoft.public.excel.programmingnewsgroup.ConstALLCLEARAsString=DBLSPACE&Theworkbookshould&_nowbefreeofallpasswordprotecti
5、on,somakesureyou:&_DBLSPACE&SAVEITNOW!&DBLSPACE&andalso&_DBLSPACE&BACKUP!,BACKUP!,BACKUP!&_DBLSPACE&Also,rememberthatthepasswordwas&_putthereforareason.Dontstuffupcrucialformulas&_ordata.&DBLSPACE&Accessanduseofsomedata&_maybeanoffense.Ifindoubt,dont.ConstMSGNOPWORDS1AsString=Therewerenopasswordson&
6、_sheets,orworkbookstructureorwindows.&AUTHORS&VERSIONConstMSGNOPWORDS2AsString=Therewasnoprotectionto&_workbookstructureorwindows.&DBLSPACE&_Proceedingtounprotectsheets.&AUTHORS&VERSIONConstMSGTAKETIMEAsString=AfterpressingOKbuttonthis&_willtakesometime.&DBLSPACE&Amountoftime&_dependsonhowmanydiffer
7、entpasswords,the&_passwords,andyourcomputersspecification.&DBLSPACE&_Justbepatient!Makemeacoffee!&AUTHORS&VERSIONConstMSGPWORDFOUND1AsString=YouhadaWorksheet&_StructureorWindowsPasswordset.&DBLSPACE&_Thepasswordfoundwas:&DBLSPACE&$&DBLSPACE&_Noteitdownforpotentialfutureuseinotherworkbooksby&_thesame
8、personwhosetthispassword.&DBLSPACE&_Nowtocheckandclearotherpasswords.&AUTHORS&VERSIONConstMSGPWORDFOUND2AsString=YouhadaWorksheet&_passwordset.&DBLSPACE&Thepasswordfoundwas:&_DBLSPACE&$&DBLSPACE&Noteitdownforpotential&_futureuseinotherworkbooksbysamepersonwho&_setthispassword.&DBLSPACE&Nowtocheckand
9、clear&_otherpasswords.&AUTHORS&VERSIONConstMSGONLYONEAsString=Onlystructure/windows&_protectedwiththepasswordthatwasjustfound.&_ALLCLEAR&AUTHORS&VERSION&REPBACKDimw1AsWorksheet,w2AsWorksheetDimiAsInteger,jAsInteger,kAsInteger,lAsIntegerDimmAsInteger,nAsInteger,i1AsInteger,i2AsIntegerDimi3AsInteger,i
10、4AsInteger,i5AsInteger,i6AsIntegerDimPWord1AsStringDimShTagAsBoolean,WinTagAsBooleanApplication.ScreenUpdating=FalseWithActiveWorkbookWinTag=.ProtectStructureOr.ProtectWindowsEndWithShTag=FalseForEachw1InWorksheetsShTag=ShTagOrw1.ProtectContentsNextw1IfNotShTagAndNotWinTagThenMsgBoxMSGNOPWORDS1,vbIn
11、formation,HEADERExitSubEndIfMsgBoxMSGTAKETIME,vbInformation,HEADERIfNotWinTagThenMsgBoxMSGNOPWORDS2,vbInformation,HEADERElseOnErrorResumeNextDodummydoloopFori=65To66:Forj=65To66:Fork=65To66Forl=65To66:Form=65To66:Fori1=65To66Fori2=65To66:Fori3=65To66:Fori4=65To66Fori5=65To66:Fori6=65To66:Forn=32To12
12、6WithActiveWorkbook.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=FalseThenPWord1=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
13、(MSGPWORDFOUND1,_$,PWord1),vbInformation,HEADERExitDoBypassallfor.nextsEndIfEndWithNext:Next:Next:Next:Next:NextNext:Next:Next:Next:Next:NextLoopUntilTrueOnErrorGoTo0EndIfIfWinTagAndNotShTagThenMsgBoxMSGONLYONE,vbInformation,HEADERExitSubEndIfOnErrorResumeNextForEachw1InWorksheetsAttemptclearancewit
14、hPWord1w1.UnprotectPWord1Nextw1OnErrorGoTo0ShTag=FalseForEachw1InWorksheetsChecksforallclearShTagtriggeredto1ifnot.ShTag=ShTagOrw1.ProtectContentsNextw1IfShTagThenForEachw1InWorksheetsWithw1If.ProtectContentsThenOnErrorResumeNextDoDummydoloopFori=65To66:Forj=65To66:Fork=65To66Forl=65To66:Form=65To66
15、:Fori1=65To66Fori2=65To66:Fori3=65To66:Fori4=65To66Fori5=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.ProtectContentsThenPWord1=Chr(i)&Chr(j)&Chr(k)&Chr(l)&_Chr(m)&Chr(i1)&Chr(i2)&Chr(i3)&_Chr(i4)&Chr(i5)&C
16、hr(i6)&Chr(n)MsgBoxApplication.Substitute(MSGPWORDFOUND2,_$,PWord1),vbInformation,HEADERleveragefindingPwordbytryingonothersheetsForEachw2InWorksheetsw2.UnprotectPWord1Nextw2ExitDoBypassallfor.nextsEndIfNext:Next:Next:Next:Next:NextNext:Next:Next:Next:Next:NextLoopUntilTrueOnErrorGoTo0EndIfEndWithNe
17、xtw1EndIfMsgBoxALLCLEAR&AUTHORS&VERSION&REPBACK,vbInformation,HEADEREndSub-复制到横线以上6、关闭编辑窗口;7、依次点击菜单栏上的工具-宏-宏,选AllInternalPasswords,运行,确定两次;等一会,就会出现以下对话框:这就是Excel密码对应的原始密码(此密码和原先设置的密码都能打开此文档。如果是别人的文档,你又想恢复密码设置,就可以用此密码进行保护,他就能用他设置的密码打开,你可以试试,很有趣的。字母一定要大写):再点击确定。Excel的原始密码就被清除了!以下是汉化和注释,消息框也用汉字显示Public
18、SubAllInternalPasswords()Breaksworksheetandworkbookstructurepasswords.BobMcCormick破解Excel工作表和工作薄保护密码.probablyoriginatorofbasecodealgorithmmodifiedforcoverageBobMcCormick基于覆盖工作薄窗口/所有工作表内容密码保护而制作ofworkbookstructure/windowspasswordsandformultiplepasswordsNormanHarkerandJEMcGimpsey27-Dec-2002(Version1.1
19、)NormanHarker与JEMcGimpsey27-Dec-2002(版本1.1)Modified2003-Apr-04byJEM:Allmsgstoconstants,andJEM2003-Apr-04改进:全部消息常数,和除去一个退出过程(版本1.1.1)eliminateoneExitSub(Version1.1.1)RevealshashedpasswordsNOToriginalpasswords程序展示的密码不是原始密码ConstDBLSPACEAsString=vbNewLine&vbNewLine声明常量_字符型_vbNewLine=Chr(13)+Chr(10)指定的新行
20、字符ConstAUTHORSAsString=DBLSPACE&vbNewLine&AdaptedfromBobMcCormickbasecodeby&NormanHarkerandJEMcGimpsey声明常量_字符型ConstAUTHORSAsString=DBLSPACE&vbNewLine&制作程序:BobMcCormick改进:NormanHarkerandJEMcGimpsey声明常量_字符型ConstHEADERAsString=AllInternalPasswordsUserMessage声明常量_字符型ConstHEADERAsString=密码使用消息框声明常量_字符型Co
21、nstVERSIONAsString=DBLSPACE&Version1.1.12003-Apr-04声明常量_字符型ConstVERSIONAsString=DBLSPACE&版本1.1.12003-Apr-04声明常量_字符型ConstREPBACKAsString=DBLSPACE&Pleasereportfailure&tothemicrosoft.public.excel.programmingnewsgroup.声明常量_字符型ConstREPBACKAsString=DBLSPACE&请报告失败到microsoft.public.excel.programming工作组声明常量_
22、字符型ConstALLCLEARAsString=DBLSPACE&Theworkbookshould&nowbefreeofallpasswordprotection,somakesureyou:&_DBLSPACE&SAVEITNOW!&DBLSPACE&andalso&DBLSPACE&BACKUP!,BACKUP!,BACKUP!&DBLSPACE&Also,rememberthatthepasswordwas&_putthereforareason.Dontstuffupcrucialformulas&ordata.&DBLSPACE&Accessanduseofsomedata&_
23、maybeanoffense.Ifindoubt,dont.声明常量_字符型ConstALLCLEARAsString=DBLSPACE&工作薄现在将释放所有密码保护,因而请你确认:&_DBLSPACE&现在释放!&DBLSPACE&和&DBLSPACE&备份!,备份!,备份!&DBLSPACE&此外,请记住,密码是放在那里是有原因的.不要填充重要的公式和数据._&DBLSPACE&获取和使用的一些数据可能是一种犯罪行为.如有疑问,不知道.声明常量_字符型ConstMSGNOPWORDS1AsString=Therewerenopasswordson&sheets,orworkbookstru
24、ctureorwindows.&AUTHORS&VERSION声明常量_字符型ConstMSGNOPWORDS1AsString=在工作薄/窗口/工作表上没有密码.&AUTHORS&VERSION声明常量_字符型ConstMSGNOPWORDS2AsString=Therewasnoprotectionto&workbookstructureorwindows.&DBLSPACE&Proceedingtounprotectsheets.&AUTHORS&VERSION声明常量_字符型ConstMSGNOPWORDS2AsString=在工作薄/窗口/工作表上没有保护.&DBLSPACE&着手解除表.&AUTHORS&VERSION声明常量_字符型ConstMSGTAKETIMEAsString=AfterpressingOKbuttonthis&willtakesometime.&DBLSPACE&Amountoftime&_dependsonhowmanydifferentpasswords,the&passwords,andyourcomputerssp
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1