当前位置:问百书>百科问答>在EXECL中,中了宏病毒,不用杀毒软件,用手工的办法怎么删除宏?

在EXECL中,中了宏病毒,不用杀毒软件,用手工的办法怎么删除宏?

2023-01-24 12:22:15 编辑:join 浏览量:552

在EXECL中,中了宏病毒,不用杀毒软件,用手工的办法怎么删除宏?

纯手工删除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,选择开启宏即可.

标签:EXECL,宏病毒,杀毒软件

版权声明:文章由 问百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.wenbaishu.com/answer/7884.html
热门文章
二维码