有个学员问我,说公司有个高手离职了,他留下的带VBA的工作簿,在打开的时候只要一启用宏,这个工作簿瞬间就没有了,就是莫名其妙地就消失了。“难道Excel文件还能自杀啊?!” 恩,确实有这么回事。这个高手估计在Excel文件的VBA里编制了“自杀”代码。
那怎么破呢?其实很简单,打开工作簿的时候,不要启用宏,然后Alt+F11,进入vba代码编辑器,找到自杀代码删除掉就可以了。
当然有一种高手,通过使用宏表4.0功能加上宏表函数设置也能成功的实现,必须启用宏,否则文件不让完全打开。这个功能15年前在一个工作簿里看见过,最近研究了下,也成功实现了,暂时不深聊,略过。
下面就让大家见见这段代码。最早自杀代码来自EH论坛上某个高手。
百度搜索“vba 自杀代码 ”,能搜到一堆这方面的文章资料。
![](http://dingyue.ws.126.net/2020/0919/4f980a50j00qgwqrw001ld200k000dzg00it00d4.jpg)
Sub Killme() With ThisWorkbook .Saved = True .ChangeFileAccess xlReadOnly Kill .FullName .Close End With End Sub
这段代码需要人为去启用,不会自动执行。就是在视图或开发工具里,找到宏,查看宏,然后点开“killme”宏,执行,就立即把当前工作簿删除掉了。
![](http://dingyue.ws.126.net/2020/0919/701f3798j00qgwqrw001cd200k000brg00it00b1.jpg)
当然还可以把代码改下,改成一打开工作簿只要启用宏,代码就执行自杀,不过也可以设定日期,比如超过某个日子,代码才会执行自杀动作。当然还可以编制其他的判断和规则,具体各位去想去修改了。代码修改后如下:
Private Sub Workbook_open() If Date >= #12/8/2017# Then Application.DisplayAlerts = False MsgBox "啊哈,我要走了,逃离这个电脑控制的世界。别找我,你也找不到我!", Title:="严重抗议!" With ThisWorkbook .Saved = True .ChangeFileAccess xlReadOnly Kill .FullName .Close End With Else: Exit Sub End If End Sub
这里的日期可以根据你的需要调整,比如你把代码里的日期由2017年12月8日改为2017年10月28日。代码要写成#10/28/2017#这样。那么因为今天的日期是2017年10月30日,这个工作簿打开后宏启用后,立即就会删除掉当前excel工作簿文件。
![](http://dingyue.ws.126.net/2020/0919/ceb00750j00qgwqrw0010d200k0009vg00it0099.jpg)
最后说一个更高级的,就是根据你打开工作簿的次数来判断是否删除。
如果你在代码里限制了次数为10次,那么当你打开10次后,vba会执行自杀动作删除掉当前的excel工作簿。
Private Sub Workbook_Open() Dim 计数器 As Long, 总次数 As Long, 已使用 已使用 = GetSetting("xh", "yuji", "使用次数", "") If 已使用 = "" Then 总次数 = 10 '限制当前工作簿被打开使用10次 MsgBox "本工作簿只能被使用" & 总次数 & "次" & vbCrLf & "超过次数后将自动删除!", vbExclamation SaveSetting "xh", "yuji", "使用次数", 总次数 Else 计数器 = Val(已使用) - 1 MsgBox "您还能使用" & 计数器 & "次,请及时注册!", vbExclamation SaveSetting "xh", "yuji", "使用次数", 计数器 If 计数器 <= 0 Then DeleteSetting "xh", "yuji", "使用次数" killme End If End If End Sub Public Sub killme() Application.DisplayAlerts = False ActiveWorkbook.ChangeFileAccess xlReadOnly Kill ActiveWorkbook.FullName ThisWorkbook.Close False End Sub
![](http://dingyue.ws.126.net/2020/0919/a55800a2j00qgwqrw0013d200k0009ug00it0098.jpg)
更多精彩!
尽在《Excel+PPT+Word小白变大神[520节]》
![](http://dingyue.ws.126.net/2020/0919/a4772025j00qgwqrw000md200da0080g00da0080.jpg)
洞悉Excel底层逻辑的框架完整
PPT/Word案例深入浅出、超越99.99%的同类课程
案例丰富,全网最实战的课程
office三剑客,一课顶万课,不用选择,不用纠结
职场高效技能,一套课程全搞定
你就是下一个气势恢宏的牛人高手大神
你开不开始,都已经晚了很久,因为很多人已经学了50个月了
最后,推荐一个课程,收费的!永久有效,一网打尽Excel、PPT和Word的职场牛擦技能!平均每节不足1元钱。
只要您坚持学6个月到12个月,我一定确保您成为这个领域里的高手,顶尖高手不能确保,但睥睨周围同事横扫方圆99.99%的职场一流高手,我还是能确保的!
那么这套王牌的课程就是,
Excel+PPT修炼营Office小白变高手
http://study.163.com/course/courseMain.htm?courseId=1106004
点击阅读原文,打开购买链接,一次购买课程,享受终生辅导,李则见老师大部分情况下都直接回答你关于课程本身的所有问题,我微信号change12365
![](http://dingyue.ws.126.net/2020/0919/fecf29dcj00qgwqrw000gd200hs005hg00hs005h.jpg)
推荐这套好网课
品质之选,精品之作
《520节-Excel+PPT+Word小白变大神》
![](http://dingyue.ws.126.net/2020/0919/76b831f6j00qgwqrw001id200u000c8g00i7007e.jpg)
本次大促力度很大,还没购买的学员朋友,
给您超值惊喜,只此一次,绝不再有
我们会给您很多超越期待的回报和福利,史无前例的!
送Excel网课,送211套精品PPT模板!
送优惠券抵扣!你还想怎样?火速来!
最重要的是,学完此课程,升职加薪,绝对可以到来!
完爆99%的Office网课的520节在线视频课程
福利惊喜,喜出望外
一次购买,永久有效
辅导答疑,长期陪伴
系统深入,深入浅出
高手大神,承诺必达
史无前例,鸿篇巨制
千山万水,独此一家
宣传营销,没有花招
网课无数,学我不悔
超值视频,一套封神
技能宝典,必入囊中
正本清源,登峰捷径
购买前可以咨询李则见老师,微信号在上面
已有7400多人加入学习
而你却一直犹豫要不要学习
高下立见
未来就在某个瞬间被决定了
你的思维限制了你的未来
热门跟贴