- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
删除excel宏病毒详细步骤
删除excel宏病毒
打开EXCEL时会弹出一个窗口,告知用户该工作簿中有一个无法禁止的4.0宏,有可能这个工作簿中存在宏病毒。
步骤/方法
用EXCEL2007或更高版本打开这个工作簿(2003及以下版无法禁止4.0宏),会看到有一个类似下图的用户模块
先简单说一下这个宏病毒的原理,它由两部分组合,一部分是利用EXCEL2003版及以下版本的缺陷,即无法禁止EXCEL4.0宏,来迫使用户“启用宏”,然后通过ToDOLE模块中的VBA代码执行病毒程序(有的在ThisWorkbook模块中也出现自动运行的宏病毒代码)。
打开后按ALT+F11调出VBA窗口,先将里面的ToDOLE模块删除(不光是删除里面的代码,而是删除这个模块),然后双击ThisWorkbook模块,看里面有没有代码,如果有也删除(这个里面只能删除代码,而不能删除模块)。
这样基本上VBA部分(主要的病毒部分)就清除了,保存这个工作簿,再继续下面工作。
剩下要清除4.0宏了,这个宏是通过“宏表”来起作用的。
但病毒的作者都会将这个宏表隐藏起来,用通常的“格式-工作表-取消隐藏”的方法无效,不能显示它,只能通过一段VBA代码解除它的隐藏状态。
另外病毒在该工作簿中的每一个工作表中都会定义一个Auto_Activate名称,这个名称也是隐藏的,无法通过“插入-名称-定义”或者“名称管理器”来查看,也需要通过一段VBA代码来删除。
下面通过一段VBA代码,可以删除宏表以及Auto_Activate名称。
Subabc()运行前先打开这个有“禁用宏就关闭”的工作簿t=InputBox(输入工作簿名称*.xls)Seta=Workbooks(t)a.Activate显示宏工作表s=0ForEachshInExcel4MacroSheetssh.Visible=1显示宏表sh.Delete删除s=s+1NextMsgBox删除了s个宏表删除各表中的自动运行“名称”OnErrorResumeNextFori=1ToSheets.CountSheets(i).Names(Auto_Activate).DeleteNextMsgBox完毕,请保存这个工作簿EndSub
这个代码应该放到一个新建的空白工作簿中
假设有宏病毒的工作簿为“工作簿1”,我们在建立一个空白的工作簿,假设为“工作簿2”。打开这个工作簿2的VBA窗口(ALT+F11),给它插入一个用户模块。
把上面代码粘贴到这个用户模块中,按F5执行代码,会提示输入那个有宏表的工作簿1的名字,输入后按确定,会自动删除宏表及Auto_Activate名称。
最后保存工作簿1,退出EXCEL。
提示:那个用来删除宏表的工作簿2可以不保存,直接退出。
重新打开原来那个有提示的工作簿1看看,是否提示已经没了。
注意事项
提示:如果你已经在EXCEL2003中打开过有宏病毒的工作簿,就不必再在EXCEL2007中操作了,因为已经中毒了,所以直接在EXCEL2003中操作就行了。
这个方法可以尝试一下。最终建议大家用杀毒软件进行查杀,因为这类宏病毒有的比较顽固,能在电脑中多处放置含毒文件,还能添加注册表项,毕竟专业的杀毒软件功能强大,可以查杀的彻底。
文档评论(0)