Excel文档VBA代码自动删除

本文介绍了如何设计VBA代码,在Excel文档打开时或特定日期后自动删除自身,以限制他人长期使用。通过设置Workbook_Open事件触发删除过程,利用DeleteLines方法清除所有模块、类模块和窗体的代码。同时,提供了解除工程密码保护的代码,以便在有密码保护的情况下执行删除操作。请注意,这种方法可能导致程序不稳定,并且无法选择性删除部分代码。
摘要由CSDN通过智能技术生成


  有时候,不想让自己编写的代码让别人长期使用或换地方使用,又不想让文档自杀,就可以设计限期清除代码,或其他限制条件下清除。具体限制条件可参考作者《Excel文档自杀程序设计》Workbook_Open模块那一部分。代码清除后,与代码有关的程序就不能运行了。
如设置2011年12月31日后打开文档就清除代码,可以这样设计:
Private Sub Workbook_Open()   ’这个程序一定要在Thisworkbook模块中
On Error Resume Next
If Date>40908 then Then Call 删除代码
End Sub                                                 
删除代码的程序是
Sub 删除代码()   ’这个程序要在标准的Moudle模块中
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count ActiveWorkbook.VBProject.
    VBComponents(i).CodeModule.DeleteLines 1, _
    ActiveWorkbook.VBProject.VBComponents(i).CodeModule.CountOfLines
Next i
End Sub                                                 
如果要把窗体、模块、类模块一并删除可改为一下代码
Sub 删除代码()   ’这个程序要在标准的Moudle模块中最好
For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count ActiveWorkbook.VBProject.
    VBComponents(i).Code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值