PublicSubAllInternalPasswords()'Breaksworksheetandworkbookstructurepasswords.BobMcCormick'probablyoriginatorofbasecodealgorithmmodifiedforcoverage'ofworkbookstructure/windowspasswordsandformultiplepasswords''NormanHarkerandJEMcGimpsey27-Dec-2002(Version1.1)'Modified2003-Apr-04byJEM:Allmsgstoconstants,and'eliminateoneExitSub(Version1.1.1)'RevealshashedpasswordsNOToriginalpasswordsConstDBLSPACEAsString=vbNewLinevbNewLineConstAUTHORSAsString=DBLSPACEvbNewLine_"AdaptedfromBobMcCormickbasecodeby"_"NormanHarkerandJEMcGimpsey"ConstHEADERAsString="AllInternalPasswordsUserMessage"ConstVERSIONAsString=DBLSPACE"Version1.1.12003-Apr-04"ConstREPBACKAsString=DBLSPACE"Pleasereportfailure"_"tothemicrosoft.public.excel.programmingnewsgroup."ConstALLCLEARAsString=DBLSPACE"Theworkbookshould"_"nowbefreeofallpasswordprotection,somakesureyou:"_DBLSPACE"SAVEITNOW!"DBLSPACE"andalso"_DBLSPACE"BACKUP!,BACKUP!!,BACKUP!!!"_DBLSPACE"Also,rememberthatthepasswordwas"_"putthereforareason.Don'tstuffupcrucialformulas"_"ordata."DBLSPACE"Accessanduseofsomedata"_"maybeanoffense.Ifindoubt,don't."ConstMSGNOPWORDS1AsString="Therewerenopasswordson"_"sheets,orworkbookstructureorwindows."AUTHORSVERSIONConstMSGNOPWORDS2AsString="Therewasnoprotectionto"_"workbookstructureorwindows."DBLSPACE_"Proceedingtounprotectsheets."AUTHORSVERSIONConstMSGTAKETIMEAsString="AfterpressingOKbuttonthis"_"willtakesometime."DBLSPACE"Amountoftime"_"dependsonhowmanydifferentpasswords,the"_"passwords,andyourcomputer'sspecification."DBLSPACE_"Justbepatient!Makemeacoffee!"AUTHORSVERSIONConstMSGPWORDFOUND1AsString="YouhadaWorksheet"_"StructureorWindowsPasswordset."DBLSPACE_"Thepasswordfoundwas:"DBLSPACE"$$"DBLSPACE_"Noteitdownforpotentialfutureuseinotherworkbooksby"_"thesamepersonwhosetthispassword."DBLSPACE_"Nowtocheckandclearotherpasswords."AUTHORSVERSIONConstMSGPWORDFOUND2AsString="YouhadaWorksheet"_"passwordset."DBLSPACE"Thepasswordfoundwas:"_DBLSPACE"$$"DBLSPACE"Noteitdownforpotential"_---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---"futureuseinotherworkbooksbysamepersonwho"_"setthispassword."DBLSPACE"Nowtocheckandclear"_"otherpasswords."AUTHORSVERSIONConstMSGONLYONEAsString="Onlystructure/windows"_"protectedwiththepasswordthatwasjustfound."_ALLCLEARAUTHORSVERSIONREPBACKDimw1AsWorksheet,w2AsWorksheetDimiAsInteger,jAsInteger,kAsInteger,lAsIntegerDimmAsInteger,nAsInteger,i1AsInteger,i2AsIntegerDimi3AsInteger,i4AsInteger,i5AsInteger,i6AsIntegerDimPWord1AsStringDimShTagAsBoolean,WinTagAsBooleanApplication.ScreenUpdating=FalseWithActiveWorkbookWinTag=.ProtectStructureOr.ProtectWindowsEndWithShTag=FalseForEachw1InWorksheetsShTag=ShTagOrw1.ProtectContentsNextw1IfNotShTagAndNotWinTagThenMsgBoxMSGNOPWORDS1,vbInformation,HEADERExitSubEndIfMsgBoxMSGTAKETIME,vbInformation,HEADERIfNotWinTagThenMsgBoxMSGNOPWORDS2,vbInformation,HEADERElseOnErrorResumeNextDo'dummydoloopFori=65To66:Forj=65To66:Fork=65To66Forl=65To66:Form=65To66:Fori1=65To66Fori2=65To66:Fori3=65To66:Fori4=65To66Fori5=65To66:Fori6=65To66:Forn=32To126WithActiveWorkbook.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(MSGPWORDFOUND1,_---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---"$$",PWord1),vbInformation,HEADERExitDo'Bypassallfor...nextsEndIfEndWithNext:Next:Next:Next:Next:NextNext:Next:Next:Next:Next:NextLoopUntilTrueOnErrorGoTo0EndIfIfWinTagAndNotShTagThenMsgBoxMSGONLYONE,vbInformation,HEADERExitSubEndIfOnErrorResumeNextForEachw1InWorksheets'AttemptclearancewithPWord1w1.UnprotectPWord1Nextw1OnErrorGoTo0ShTag=FalseForEachw1InWorksheets'ChecksforallclearShTagtriggeredto1ifnot.ShTag=ShTagOrw1.ProtectContentsNextw1IfShTagThenForEachw1InWorksheetsWithw1If.ProtectContentsThenOnErrorResumeNextDo'DummydoloopFori=65To66:Forj=65To66:Fork=65To66Forl=65To66:Form=65To66: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)Chr(i6)Chr(n)MsgBoxApplication.Substitute(MSGPWORDFOUND2,_"$$",PWord1),vbInformation,HEADER'leveragefindingPwordbytryingonothersheets---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---ForEachw2InWorksheetsw2.UnprotectPWord1Nextw2ExitDo'Bypassallfor...nextsEndIfNext:Next:Next:Next:Next:NextNext:Next:Next:Next:Next:NextLoopUntilTrueOnErrorGoTo0EndIfEndWithNextw1EndIfMsgBoxALLCLEARAUTHORSVERSIONREPBACK,vbInformation,HEADEREndSub---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---