删除Excel宏病毒

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,选择开启宏即可.

相关文档
最新文档