删除Excel宏病毒
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
删除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 = Then
ActiveWindow.ActivateNext
If = 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,选择开启宏即可.