如果你收到过一些这样的Excel文件,文件里有VBA代码,实现了很好的功能,可是作者却对VBA工程进行了加密,你可能会非常希望查看到里面的VBA代码。
会想到的最直接的办法当然就是要到密码,可这个一般做不到,这个时候有什么办法能够查看VBA代码呢?
前面介绍的提取模块代码可以做到,这里再介绍一种直接清除密码的功能。
VBAProject工程里面,一定会有个数据流PROJECT,这个文件提取后,得到的内容大致如下:
ID="{7A581A9B-0F9A-480B-8C0A-1C59D52CAB04}"Document=ThisWorkbook/&H00000000Document=Sheet1/&H00000000Module=MMainModule=MTestStackHelpFile=""Name="vbapSpaceTest"HelpContextID="0"VersionCompatible32="393222000"CMG="A4A64B844D9151915191519151"DPB="B5B75AB77AC97BC97BC9"GC="C6C429A22BA23DA33DA3C2"[Host Extender Info]&H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000[Workspace]ThisWorkbook=0, 0, 0, 0, CSheet1=0, 0, 702, 415, MMain=25, 25, 756, 571, MTestStack=275, 275, 1435, 844, Z
VBAProject工程是否设置了密码,信息就保存在了这个数据流中,只需要把下面的内容清除掉就可以了:
CMG="A4A64B844D9151915191519151"DPB="B5B75AB77AC97BC97BC9"GC=&#