求破解excel VB代码保护密码的方法

以前我下载过一个excel的表格,里面是一个宏,直接点击然后打开现在要的这个表格就可以不用密码了,但是被我删掉了,现在找不到了,求哪位大神帮忙解开。... 以前我下载过一个excel的表格,里面是一个宏,直接点击然后打开现在要的这个表格就可以不用密码了,但是被我删掉了,现在找不到了,求哪位大神帮忙解开。 展开
 我来答
百度网友f20b0cc
2014-01-28 · 超过20用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:48.5万
展开全部
什么版本的?2003的还能移除密码,之后的07和10就无法破解啦!
03版的破解方法如下:
新建一个Excel工作簿,Alt+F11 打开VBA编辑器,新建一个模块 ,复制以下代码,注意如提示变量未定义,则把Option Explicit行删除即可,经测试已经通过.'移除VBA编码保护
Sub MoveProtect()
Dim FileName As String
FileName = Application.GetOpenFilename("Excel文件(*.xls & *.xla),*.xls;*.xla", , "VBA破解")
If FileName = CStr(False) Then
Exit Sub
Else
VBAPassword FileName, False
End If
End Sub'设置VBA编码保护
Sub SetProtect()
Dim FileName As String
FileName = Application.GetOpenFilename("Excel文件(*.xls & *.xla),*.xls;*.xla", , "VBA破解")
If FileName = CStr(False) Then
Exit Sub
Else
VBAPassword FileName, True
End If
End SubPrivate Function VBAPassword(FileName As String, Optional Protect As Boolean = False)
If Dir(FileName) = "" Then
Exit Function
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 Function
End If
If Protect = False Then
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, "提示"
Else
Dim MMs As String * 5
MMs = "DPB="""
Put #1, CMGs, MMs
MsgBox "对文件特殊加密成功......", 32, "提示"
End If
Close #1
End Function
追问

试过了,不行,excel崩溃了,你这个是其他地方复制的吗?

追答
代码粘贴过来的时候不知道为什么少了2个回车,你自己加上2个回车就行啦!

End SubPrivate Function VBAPassword(FileName As String, Optional Protect As Boolean = False)改成
End Sub
Private Function VBAPassword(FileName As String, Optional Protect As Boolean = False)

End If Dim GetData As String * 5改成
End If
Dim GetData As String * 5
shaowu459
2014-01-28 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3458
采纳率:65%
帮助的人:1784万
展开全部
发给我看一下,shaowu459,163的邮箱
追问
公司内部文件不适合外传,是否可以远程?
追答
没办法。如果不传就算了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
3141524
2014-01-28 · 超过27用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:66.3万
展开全部
这个不厚道哈。去“club.excelhome.net”看看。
追问
看过了,是这样的,我想优化这个表格,因为数据计算的时候索引的内容太多,导致自动重算太厉害,反应时间达到了假死机的情况。这个网站我去过了,不然我也不会在这里问了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式