资源描述:
《破解vba密码保护的方法-图例-简易》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、破解VBA密码保护的方法-简单-易懂1、【第一步】、打开excel文件,按快捷键“Alt+F11”。2、【第二步】、如下图所示,右键点击“MicrosoftExcel对象”—>“插入”-->“模块”。3、【第三步】、如下图所示,双击新添加的“模块”,然后在右侧的代码区复制下面的代码段:=========================从这条线之下开始复制代码=============================='移除VBA编码保护SubMoveProtect()DimFileNameAsStringFile
2、Name=Application.GetOpenFilename("Excel文件(*.xls&*.xla),*.xls;*.xla",,"VBA破解")IfFileName=CStr(False)ThenExitSubElseVBAPasswordFileName,FalseEndIfEndSub'设置VBA编码保护SubSetProtect()DimFileNameAsStringFileName=Application.GetOpenFilename("Excel文件(*.xls&*.xla),*.xls;
3、*.xla",,"VBA破解")IfFileName=CStr(False)ThenExitSubElseVBAPasswordFileName,TrueEndIfEndSubPrivateFunctionVBAPassword(FileNameAsString,OptionalProtectAsBoolean=False)IfDir(FileName)=""ThenExitFunctionElseFileCopyFileName,FileName&".bak"EndIfDimGetDataAsString*5O
4、penFileNameForBinaryAs#1DimCMGsAsLongDimDPBoAsLongFori=1ToLOF(1)Get#1,i,GetDataIfGetData="CMG="""ThenCMGs=iIfGetData="[Host"ThenDPBo=i-2:ExitForNextIfCMGs=0ThenMsgBox"请先对VBA编码设置一个保护密码...",32,"提示"ExitFunctionEndIfIfProtect=FalseThenDimStAsString*2Dims20AsStrin
5、g*1'取得一个0D0A十六进制字串Get#1,CMGs-2,St'取得一个20十六制字串Get#1,DPBo+16,s20'替换加密部份机码Fori=CMGsToDPBoStep2Put#1,i,StNext'加入不配对符号If(DPBo-CMGs)Mod2<>0ThenPut#1,DPBo+1,s20EndIfMsgBox"文件解密成功......",32,"提示"ElseDimMMsAsString*5MMs="DPB="""Put#1,CMGs,MMsMsgBox"对文件特殊加密成功......",32,
6、"提示"EndIfClose#1EndFunction=========================分割线==================4、第四步:按“F5”选择“MoveProtest”点击运行,选择要破解密码保护的excel文件。