有个excel文档 忘记密码了 求高手解决啊
我也遇到过同样的问题,同事帮忙解决的,没有用软件,方法是这样的:1\打开文件2\工具---宏----录制新宏---输入名字如:aa3\停止录制(这样得到一个空宏)4\工具---宏----宏,选aa,点编辑按钮5\删除窗口中的所有字符(只有几个),替换为下面的内容:(复制吧)6\关闭编辑窗口7\工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定。 OK,没有密码了!!内容如下:PublicSubAllInternalPasswords()'Breaksworksheetandworkbookstructurepasswords。BobMc...全部
我也遇到过同样的问题,同事帮忙解决的,没有用软件,方法是这样的:1\打开文件2\工具---宏----录制新宏---输入名字如:aa3\停止录制(这样得到一个空宏)4\工具---宏----宏,选aa,点编辑按钮5\删除窗口中的所有字符(只有几个),替换为下面的内容:(复制吧)6\关闭编辑窗口7\工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定。
OK,没有密码了!!内容如下:PublicSubAllInternalPasswords()'Breaksworksheetandworkbookstructurepasswords。BobMcCormick'probablyoriginatorofbasecodealgorithmmodifiedforcoverage'ofworkbookstructure/windowspasswordsandformultiplepasswords''NormanHarkerandJEMcGimpsey27-Dec-2002(Version1。
1)'Modified2003-Apr-04 ,and'eliminateoneExitSub(Version1。1。1)'RevealshashedpasswordsNOToriginalpasswordsConstDBLSPACEAsString=vbNewLine&vbNewLineConstAUTHORSAsString=DBLSPACE&vbNewLine&_"AdaptedfromBobMcCormickbasecodeby"&_"NormanHarkerandJEMcGimpsey"ConstHEADERAsString="AllInternalPasswordsUserMessage"ConstVERSIONAsString=DBLSPACE&"Version1。
1。12003-Apr-04"ConstREPBACKAsString=DBLSPACE&"Pleasereportfailure"&_" grammingnewsgroup。"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。"&AUTHORS&VERSIONConstMSGNOPWORDS2AsString="Therewasnoprotectionto"&_"workbookstructureorwindows。
"&DBLSPACE&_"Proceedingtounprotectsheets。"&AUTHORS&VERSIONConstMSGTAKETIMEAsString="AfterpressingOKbuttonthis"&_"willtakesometime。
"&DBLSPACE&"Amountoftime"&_"dependsonhowmanydifferentpasswords,the"&_"passwords,andyourcomputer'sspecification。
"&DBLSPACE&_"Justbepatient!Makemeacoffee!"&AUTHORS&VERSIONConstMSGPWORDFOUND1AsString="YouhadaWorksheet"&_"StructureorWindowsPasswordset。
"&DBLSPACE&_"Thepasswordfoundwas:"&DBLSPACE&"$$"&DBLSPACE&_"Noteitdownforpotentialfutureuseinotherworkbooksby"&_"thesamepersonwhosetthispassword。
"&DBLSPACE&_"Nowtocheckandclearotherpasswords。"&AUTHORS&VERSIONConstMSGPWORDFOUND2AsString="YouhadaWorksheet"&_"passwordset。
"&DBLSPACE&"Thepasswordfoundwas:"&_DBLSPACE&"$$"&DBLSPACE&"Noteitdownforpotential"&_"futureuseinotherworkbooksbysamepersonwho"&_"setthispassword。
"&DBLSPACE&"Nowtocheckandclear"&_"otherpasswords。"&AUTHORS&VERSIONConstMSGONLYONEAsString="Onlystructure/windows"&_"protectedwiththepasswordthatwasjustfound。
"&_ALLCLEAR&AUTHORS&VERSION&REPBACKDimw1AsWorksheet,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。。。nextsEndIfEn : : : : :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'leveragefindingPwordbytryingonothersheetsForEachw2InWorksheetsw2。
UnprotectPWord1Nextw2ExitDo'Bypassallfor。。。
nexts : : : : :NextLoopUntilTrueOnErrorGoTo0EndIfEndWithNextw1EndIfMsgBoxALLCLEAR&AUTHORS&VERSION&REPBACK,vbInformation,HEADEREndSub。收起