乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>EXCEL</em> VBA 隐藏了工作表,加密的,如何显示或破解 2...-excel

<em>EXCEL</em> VBA 隐藏了工作表,加密的,如何显示或破解 2...-excel

作者:乔山办公网日期:

返回目录:excel表格制作


Private Sub Worksheet_Activate()
Dim SH As Worksheet
For Each SH In Worksheets
If SH.Name <> "Sheet1" Then SH.Visible = False
Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Sheets(Target.Text).Visible = True
Sheets(Target.Text).Activate
End Sub

简单。把文件发我吧。

在当前工作zd表的A列生成结果

Sub test()
    Dim ar(1 To 100, 1 To 1)
    Dim i As Long, j As Long
    For i = 1 To Sheets.Count
        If Sheets(i).Visible = xlSheetVisible Then
            j = j + 1
            ar(j, 1) = Sheets(i).Name
        End If
    Next i
    With ActiveSheet.Cells(1, 1)
        .Resize(Rows.Count).ClearContents
        .Resize(j) = ar
    End With
End Sub



hx95华夏联盟



新建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 "文件解密成功7a686964616fe59b9ee7ad94338......", 32, "提示"

Close #1
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网