昏倒……各位大神,代码在运行时就已经调入内存了,所以可以直接删除“自身”。
下面这段代码已经使用多年,一位元级大神提供的。
运行前要在设置中勾选“信任对VBA工程对象模型的访问”
With ThisWorkbook.VBProject
For Each vbc In .VBComponents
Select Case vbc.Type
Case 1, 2, 3
With Application.VBE.ActiveVBProject.VBComponents
.Remove .Item(vbc.Name) '删除模块、类模块、窗体
End With
Case Else
vbc.CodeModule.DeleteLines 1, vbc.CodeModule.CountOfLines '删除工作表或Thisworkbook代码区代码
End Select
Next
End With
自身也能删除,只是删除自身后,代码就终止了,所以代码要复杂一些,先删除其他代码,最后删除自身。
要不简单一点,日期超过后整个删除工作簿文件。
代码不能自己删除自己的