获取EXCEL工程密码,需要知道设置的vba工程密码。(不是删除密码打开工程)

如题!主要目的是想知道读取本工程密码的指令,用于EXCEL文件开启时通过程序核对工程密码是否被外部程序强行更改。同时,也了解一下VBA密码是否真的如题目所提到的,被别人破解(所谓破解就是知道原文件设置的密码,而不是删除密码)。之前已经解决的相同问题http://zhidao.baidu.com/link?url=wHthgXysjV80_GLF-ovp8VoAF0HUNiMBwzpMf6uIR2JJCZKwiRHYi3XrFE-27aic3CZ3r95SxX-yxN_V_3vKla
我主要是想知道怎么破解,qq号1592651470,满意回答追加100。

首先新建EXCEL文件,在工作表标签处点右键,选择查看代码,复制以下代码,按F8执行,在弹出窗中选择要破解工程密码的EXCEL文件,按F5执行即可:
Private Sub VBAPassword()
'你要解保护的Excel文件路径
Filename = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt", , "VBA破解")
If Dir(Filename) = "" Then
MsgBox "没找到相关文件,清重新设置。"
Exit Sub
Else
FileCopy Filename, Filename & ".bak" '备份文件。
End If
Dim GetData As String * 5
Open Filename For Binary As #1
Dim CMGs As Long
Dim DPBo As Long
For i = 1 To LOF(1)
Get #1, i, GetData
If GetData = "CMG=""" Then CMGs = i
If GetData = "[Host" Then DPBo = i - 2: Exit For
Next
If CMGs = 0 Then
MsgBox "请先对VBA编码设置一个保护密码...", 32, "提示"
Exit Sub
End If

Dim St As String * 2
Dim s20 As String * 1
'取得一个0D0A十六进制字串
Get #1, CMGs - 2, St
'取得一个20十六制字串
Get #1, DPBo + 16, s20
'替换加密部份机码
For i = CMGs To DPBo Step 2
Put #1, i, St
Next
'加入不配对符号
If (DPBo - CMGs) Mod 2 <> 0 Then
Put #1, DPBo + 1, s20
End If
MsgBox "文件解密成功......", 32, "提示"
Close #1
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-18

自己百度查找【EXCEL必备工具箱】使用即可。

另外传一个文件给你,希望有所帮助

 

本回答被网友采纳
第2个回答  2014-12-13
可以把文件发过来帮你处理。2424918521@qq.com

我能找到密码。

在这里善意提醒你,你的思路不对,无法通过你想的那些方法来防范别人破解,所以你找的内容也没什么帮助,应该换个思路,这个具体再跟你谈吧。
第3个回答  2014-12-13
好的,发我邮箱ogww@21cn.com,搞定发你,而且请看知道信息

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网