① EXCEL VBA 隐藏了工作表,加密的,如何显示或破解
新建excel,ALT+F11插入以下代码,按住F8执行,浏览到有VBA工程密码的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
② EXCEL VBA 如何解除工作表密码(已知密码)
新建一工作簿,在VBE窗口中插入一个模块,粘贴以下代码,即可(该代码清除未密码,来源于网络)
PrivateSubVBAPassword()
'你要解保护的Excel文件路径
Filename=Application.GetOpenFilename("Excel文件(*.xls&*.xla&*.xlt),*.xls;*.xla;*.xlt",,"VBA破解")
IfDir(Filename)=""Then
MsgBox"没找到相关文件,清重新设置。"
ExitSub
Else
FileCopyFilename,Filename&".bak"'备份文件。
EndIf
DimGetDataAsString*5
OpenFilenameForBinaryAs#1
DimCMGsAsLong
DimDPBoAsLong
Fori=1ToLOF(1)
Get#1,i,GetData
IfGetData="CMG="""ThenCMGs=i
IfGetData="[Host"ThenDPBo=i-2:ExitFor
Next
IfCMGs=0Then
MsgBox"请先对VBA编码设置一个保护密码...",32,"提示"
ExitSub
EndIf
IfProtect=FalseThen
DimStAsString*2
Dims20AsString*1
'取得一个0D0A十六进制字串
Get#1,CMGs-2,St
'取得一个20十六制字串
Get#1,DPBo+16,s20
'替换加密部份机码
Fori=CMGsToDPBoStep2
Put#1,i,St
Next
'加入不配对符号
If(DPBo-CMGs)Mod2<>0Then
Put#1,DPBo+1,s20
EndIf
MsgBox"文件解密成功......",32,"提示"
EndIf
Close#1
EndSub
③ 如何破解vba工程密码
首先以下方案只针对 Word 文档和 Excel 文档的 VBA 工程密码。
打开一个 Excel 的程序实例(无论待破解的是什么文档一律打开 Excel 实例),按 Alt + F11 打开 VBE,左侧“工程资源管理器”右键新建一个模块,复制下列代码粘贴进去后定位至过程 VBA_Password_remove 按 F5 运行选择要破解的包含工程密码的文件。
OptionExplicit
PrivateSubVBA_Password_remove()
DimFilenameAsString,iAsInteger
Filename=Application.Caption
IfInStr(Filename,"Excel")>0Then
Filename=openfile()
Else
MsgBox"请在环境下运行本程序!",vbExclamation
ExitSub
EndIf
If(Filename="False")ThenExitSub
IfDir(Filename)=""Then
MsgBox"未找到指定文件"
ExitSub
Else
FileCopyFilename,Filename&".bak"
EndIf
DimGetDataAsString*5
OpenFilenameForBinaryAs#1
DimCMGsAsLong
DimDPBoAsLong
Fori=1ToLOF(1)
Get#1,i,GetData
IfGetData="CMG="""ThenCMGs=i
IfGetData="[Host"ThenDPBo=i-2:ExitFor
Next
IfCMGs=0Then
Close#1
MsgBox"VBA工程未设置密码",vbQuestion,"提示"
ExitSub
EndIf
DimStAsString*2
Dims20AsString*1
Get#1,CMGs-2,St
Get#1,DPBo+16,s20
Fori=CMGsToDPBoStep2
Put#1,i,St
Next
If(DPBo-CMGs)Mod2<>0ThenPut#1,DPBo+1,s20
MsgBox"文件解密成功!",vbQuestion,"提示"
Close#1
EndSub
Functionopenfile()
openfile=Application.GetOpenFilename("Excel文件(*.xls&*.xla&*.xlt),*.xls;*.xla;*.xlt,Word文件(*.doc&*.dot),*.doc;*.dot",,"选择破解VBA工程密码的文件")
EndFunction
④ 如何破解Excel VBA密码
Excel是一个专门用于整理数据的电子表格,为了保障表格的安全,用户可以为文档进行加密,可以设置以下类型密码:打开密码、编辑密码、工作表密码、共享账簿密码以及VBA密码。VBA全称是VisualBasicforApplications,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。VBA是VisualBasic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是MicrosoftOffice软件,特别是Excel表格。另外,也可说VBA是一种应用程式视觉化的Basic脚本。实际上VBA是寄生于VB应用程序的版本,可以具备VBA的宏功能。VBA密码就是为变成语言设置访问权限。破解VBA密码有两种方法:1、使用宏代码,这种方法比较专业,不具有普遍的适用性;2、使用专业的第三方密码破解工具,这个可以广泛被使用,传播比较广泛的是,使用软件打开Excel文档,程序会自动开始破解VBA密码的操作,一旦破解成功,用户可以更改Excel文档的VBA密码,重新获取权限。
⑤ VBA代码部分如何加密解密
在VBA编辑器的"工具”菜单里点“VBAProject属性",在“保护”页中把“查看时缩定工程”的勾选上,然后输入密码后确定即可。这样下次打开查看代码时就需要输入密码了。
但这种加密方式的破解,早就有专用工具了,可以在网络上查找试试。
比较好的方法是,把做好含有VBA代码的Excel编译成exe文件,这种工具也可以在网上找到,自己找一下吧。
⑥ 如何破解excel vba密码
1、新建一个Excel工作簿,Alt+F11 打开VBA编辑器。新建一个模块,复制以下代码,注意如提示变量未定义,则把Option Explicit行删除即可,经测试已经通过。
2、代码如下:
'移除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 Sub
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, "提示"
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中vba加密了怎么破解代码
VBA Password Bypasser,这个软件就很好用