Sub scdm() '删除代码及窗体
Application.DisplayAlerts = False
Application.VBE.CommandBars(1).Controls("工具(T)").Controls("VBAProject 属性(E)...").Execute
Application.SendKeys "123456"
Application.SendKeys "{ENTER}"
Application.SendKeys "{ESC}"
Dim t, i
t = DateAdd("s", 2, Now)
Do Until Now > t
DoEvents
Loop
For i = 1 To ThisWorkbook.VBProject.VBComponents.Count
ThisWorkbook.VBProject.VBComponents(i).CodeMole.DeleteLines 1, _
ThisWorkbook.VBProject.VBComponents(i).CodeMole.CountOfLines
Next
Dim Vbc As Object
For Each Vbc In Application.ThisWorkbook.VBProject.VBComponents
Select Case Vbc.Type
Case 1, 2, 3
With Application.VBE.ActiveVBProject.VBComponents
.Remove .Item(Vbc.Name)
End With
End Select
Next
End Sub
把按密码的动作加进去就成了,上面第4句就是密码123456,你改成你的密码
2. excel表自杀用VBA如何编写
可以考虑sky的建议,但意义不大,别人一定要打开你的文件,将将宏安全性设置为高,这样文件也不会自杀的
3. excel文档用VBA加密了,打开时提示“注意:检查文件路径错误,文件将自动删除”,请问如何解密此文件
这是因为作者对文档进行了加密,这种加密估计是在workopen事件中写入的代码,要破解vba密码一般用Advanced VBA Password Recovery ,但是作者再打开文件时进行了文件路径的检查所以,你要先在打开文件的时候禁用“宏”,然后配合Advanced VBA Password Recovery软件估计可以搞定。
4. 在EXCEL中,需要一个在某一个日期就自杀的工作溥VBA代码
Private Sub Workbook_Open()
Dim counter As Long, term As Long, chk
chk = GetSetting("hhh", "budget", "使用次数", "")
If chk = "" Then
term = 50 '限制使用50次
MsgBox "本工作簿只能使用" & term & "次" & vbCrLf & "超过次数将自动销毁!", vbExclamation
SaveSetting "hhh", "budget", "使用次数", term
Else
counter = Val(chk) - 1
MsgBox "你还能使用" & counter & "次,请及时注册!", vbExclamation
SaveSetting "hhh", "budget", "使用次数", counter
If counter <= 0 Then
DeleteSetting "hhh", "budget", "使用次数"
killme
End If
End If
End Sub
Public Sub killme()
Application.DisplayAlerts = False
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End Sub
源代码供参考。时间函数 now(),指定日期 #2011-12-31# ,希望你自己能改好程序。
后面的这个应该无法实现,因为输入密码时还未执行到宏代码啊。
5. excel2013关于VBA密码破解的教程
在 Excel 中可能有些重要数据需要修改,但遗憾的是忘记了密码。这个时候就需要进行对文件密码的破解。下面是我带来的关于excel2013关于VBA密码破解的教程,欢迎阅读!
excel2013关于VBA密码破解的教程教程1:将你要破解的Excel文件关闭,切记一定要关闭呀!然后新建一个Excel文件
教程2:打开新建的这个Excel,按下alt+F11,打开vb界面,新建一个模块,如图所示
教程3:将代码复制到这个模块中,代码如下:
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
教程3:然后点击运行按钮,如图所示,绿色的小三角就是
教程4:你会看到,打开了一个文件夹,找到我们要破解的这个文件,然后点击打开
教程5:稍等几分钟你就会看到破解成功的提示了
6. 如何破解EXCEL VBA密码
关于破解EXCEL VBA工程密码的方法,以下代码非常有效,首先建一新EXCEL文件,在工作表标签处右点>>查看代码>>复制以下代码>>按F8执行在弹出窗中选你要你破解工程密码的EXCEL文件 >>再按F5执行即可.
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
EndSu
如果上面代码不能运行或出错,请用以下代码重试.
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
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,"提示"
Close#1
EndSub
7. VBA文件自杀问题
你的代码没有问题,在我的电脑上能成功自杀,建议你取消过程里面的第一行:
On Error Resume Next
看看执行过程中是否报错,报错的时候拷屏记录错误原因,然后选择“调试”按钮,看看停留在哪一行,结合错误说明和程序代码思考,如果有困难请粘贴两者。