1.用EXCEL2007或更高版本打开这个工作簿(2003及以下版无法禁止4.0宏),会看到有一个类似下图的用户模块。
2.先简单说一下这个宏病毒的原理,它由两部分组合,一部分是利用EXCEL2003版及以下版本的缺陷,即无法禁止EXCEL4.0宏,来迫使用户“启用宏”,然后通过ToDOLE模块中的VBA代码执行病毒程序(有的在ThisWorkbook模块中也出现自动运行的宏病毒代码)。
3.打开后按ALT+F11调出VBA窗口,先将里面的ToDOLE模块删除(不光是删除里面的代码,而是删除这个模块),然后双击ThisWorkbook模块,看里面有没有代码,如果有也删除(这个里面只能删除代码,而不能删除模块)。
4.这样基本上VBA部分(主要的病毒部分)就清除了,保存这个工作簿,再继续下面工作。
5.剩下要清除4.0宏了,这个宏是通过“宏表”来起作用的。
6.但病毒的作者都会将这个宏表隐藏起来,用通常的“格式-工作表-取消隐藏”的方法无效,不能显示它,只能通过一段VBA代码解除它的隐藏状态。
7.另外病毒在该工作簿中的每一个工作表中都会定义一个"Auto_Activate"名称,这个名称也是隐藏的,无法通过“插入-名称-定义”或者“名称管理器”来查看,也需要通过一段VBA代码来删除。
下面通过一段VBA代码,可以删除宏表以及"Auto_Activate"名称。
Subabc()
'运行前先打开这个有“禁用宏就关闭”的工作簿
t=InputBox("输入工作簿名称*.xls")
Seta=Workbooks(t)
a.Activate
'显示宏工作表
s=0
ForEachshInExcel4MacroSheets
sh.Visible=1'显示宏表
sh.Delete'删除
s=s+1
Next
MsgBox"删除了"&s&"个宏表"
'删除各表中的自动运行“名称”
OnErrorResumeNext
Fori=1ToSheets.Count
Sheets(i).Names("Auto_Activate").Delete
Next
MsgBox"完毕,请保存这个工作簿"
EndSub
这个代码应该放到一个新建的空白工作簿中。
假设有宏病毒的工作簿为“工作簿1”,建立一个空白的工作簿,假设为“工作簿2”。
打开这个工作簿2的VBA窗口(ALT+F11),给它插入一个用户模块。
把上面代码粘贴到这个用户模块中,按F5执行代码,会提示输入那个有宏表的工作簿1的名字,输入后按确定,会自动删除宏表及"Auto_Activate"名称。
8.最后保存工作簿1,退出EXCEL。
提示:那个用来删除宏表的工作簿2可以不保存,直接退出。
9.重新打开原来那个有提示的工作簿1看看,是否提示已经没了。
专杀是不好使的,经常误伤文件,如果经过专杀后,你的文件打不开了,打开时,告诉你说文件损坏了,这个时候就麻烦大了。
手动杀毒虽然辛苦,效率低,但能确保文件的安全,免于意外损坏。方法简单,只是重复辛苦而已。
1、查找所有的Excel文件及excel模板文件,注意把隐藏的文件夹和隐藏文件都查出来。
2、选中这些文件,右键设置文件属性,在【安全】选项卡把文件的安全属性设置为所有用户都不能“写入”。(如果磁盘格式不是NTFS的,可能需要转换一下才行,不然安全没保障)
3、选其中一个有宏病毒的excel文件,照上面的步骤把安全选项的“写入取消”,然后打开文件。
4、如果你有能力,就阅读一下宏代码,分析它的传播感染方式,找出感染源和感染途径,那么杀毒效率变得有针对性,效率更高,如果没有这个能力,就直接删除了,保存。
5、保存后,立即更改安全属性为禁止“写入”
6、重复3、4、5步骤查杀其它excel文件。
7、如果其他Word\ppt文件也有宏病毒,同法修理它们。
【病毒总杀总有】1、如果是局域网环境,请断网后重新杀毒。如断网后杀毒不再出现杀毒总杀总有的情况,说明病毒是通过局域网传播,请用户全网进行杀毒,并在全网系统中打系统补丁。
在OFFICE 的安装目录,有一个文件夹叫XLSTART,放置在里面的文件就是在启动EXCEL应用程序之前需要先打开的,你这种情况,可以查看那个文件夹里面是不是有文件,把当中的文件清空————如果宏病毒的代码中没有自动创建文件,复制宏代码的功能,那就搞定了。反之,如果清空再开EXCEL文件,发现XLSTART下又自动创建了文件,那就说明那个宏病毒有复制 代码功能,那你就用专杀去吧
用360杀毒软件里面有一个OFFICR宏病毒查杀的~
标签:Excel