求解决excel vba密码,谢谢谢
发布网友
发布时间:2022-05-25 04:00
我来回答
共4个回答
热心网友
时间:2024-05-29 15:56
请尊重他人劳动成果。
请不要用在不正当的地方。
移除VBA编码保护
Private Function MoveProtect()
Dim FileName As String
FileName = Application.GetOpenFilename("Excel文件(*.xls), *.xls,Excel文件(*.xla), *.xla", , "VBA破解")
If FileName = False Then
Exit Function
Else
VBAPassword FileName, False
End If
End Function
'设置VBA编码保护
Private Function SetProtect()
Dim FileName As String
FileName = Application.GetOpenFilename("Excel文件(*.xls), *.xls,Excel文件(*.xla), *.xla", , "VBA破解")
If FileName = False Then
Exit Function
Else
VBAPassword FileName, True
End If
End Function
Private 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, "提示"
GoTo clo
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
clo:
Close
End Function追问If FileName = False ,运行报错,我改了If FileName = '''就正常了.
但是我要解两个文件,一个文件ok可以打开,
另一个文件打报错,显示
Microsoft Office Excel 文件修复日志
在文件“D:\w.xls”中检测到错误
以下是修复列表:
丢失了 Visual Basic 项目。
丢失了 ActiveX 控件。
追答没有遇到过类似错误,你去网上下一个VBAPASS.xls 来破解一下看看能不能成功。
热心网友
时间:2024-05-29 15:57
二楼的脑袋坏了,电子表格的VBA密码呗。把这个文档移动到别的电脑上去,就没密码了。或者找破解软件破解。找本人代为解密也可以!
热心网友
时间:2024-05-29 15:57
如果可以打开Excel文件,只是VBA代码加密的话,可以用Office Password Remover V2.0,很容易看到VBA代码的。如果打开Excel文件也需要密码的话,就麻烦点。
热心网友
时间:2024-05-29 15:58
到底是EXCEL的密码还是VBA的密码