有时候,不想让自己编写的代码让别人长期使用或换地方使用,又不想让文档自杀,就可以设计限期清除代码,或其他限制条件下清除。具体限制条件可参考作者《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
Excel文档VBA代码自动删除
最新推荐文章于 2024-03-09 22:32:49 发布
本文介绍了如何设计VBA代码,在Excel文档打开时或特定日期后自动删除自身,以限制他人长期使用。通过设置Workbook_Open事件触发删除过程,利用DeleteLines方法清除所有模块、类模块和窗体的代码。同时,提供了解除工程密码保护的代码,以便在有密码保护的情况下执行删除操作。请注意,这种方法可能导致程序不稳定,并且无法选择性删除部分代码。
摘要由CSDN通过智能技术生成