删除Excel宏病毒
方法一:通过去掉宏自动运行方式删除。
1、不要打开任何Excel文件。
2、新建一个文本文档,重命名为Book1,扩展名删掉。
3、找到这个文件夹:C:\Documents and Settings\Administrator\Application Data\Microsoft\Excel\XLSTART,如果里面有一个Book1文件,替换它。
4、然后打开染毒的Excel文件, 新建一个表,将内容复制到这个新表中。
方法二:通过程序代码方式删除。
新建Book.xls,进入其宏编辑器(Alt+F11),在ThisWorkbook中加入以下代码:
Private Sub Workbook_Open()
Dim WorkbookInfected As Boolean
Dim ad As Object
Dim strVirusName As String
Dim intVBcomponentNo As Integer
Dim i As Integer
'下面两句为病毒感染标记及病毒名因为要扫描自己,用"&"连接字符串可以避免误判自己
'代码重用时,针对不同的病毒可修改以下两句
Const Marker = "<- this is another" & " marker!"
strVirusName = "Marker"
While (1)
'If语句部分判断是否检查到自己,如果只剩下自己,则退出程序
If ActiveWorkbook.Name = Me.Name Then
ActiveWindow.ActivateNext
If ActiveWorkbook.Name = Me.Name Then GoTo EndRun
End If
'可能存在VB宏代码处的数目
intVBcomponentNo = ActiveWorkbook.VBProject.VBComponents.Count
For i = 1 To intVBcomponentNo
Set ad = ActiveWorkbook.VBProject.VBComponents.Item(i)
'是否包含特征字符串
WorkbookInfected = ad.CodeModule.Find(Marker, 1, 1, 10000, 10000)
'如果包含特征字符串,则进行去毒处理 If WorkbookInfected = True Then
'如果病毒为追加感染,请修改这一句.注意这里为全删除宏..
ad.CodeModule.DeleteLines 1, ad.CodeModule.CountOfLines
'提示信息
MsgBox ActiveWorkbook.FullName & "被" & strVirusName & _
"宏病毒感染.已去除!", vbInformation, "By:Ray.Deng"
End If
Next
'关闭打开的文件
ActiveWorkbook.Close 1
'切换至下一个文件.
ActiveWindow.ActivateNext
Wend
EndRun:
End Sub
编好后存盘,然后查找所有*.xls文件,选择全部(除了刚编的Book.xls:按住Ctrl点击),点击鼠标右键,"打开(Open)",开启文件时如果提示是否开启宏,点击不开启宏.然后,打开除了刚编的Book.xls,选择开启宏即可.