学习啦>学习电脑>工具软件>办公软件学习>Excel教程>Excel基础>

excel2003删除宏病毒的方法

业华分享

  在Excel中录入数据时多数都需要使用到宏功能,而宏功能正是涉及到安全性问题才被Excel默认禁用,如果在用的时候不小心真的中毒了,别担心,还是有解决方法的。下面是学习啦小编带来的关于excel2003删除宏病毒的方法,希望阅读过后对你有所启发!

  excel2003删除宏病毒的方法:

  删除宏病毒步骤1:先简单说一下这个宏病毒的原理,它由两部分组合,一部分是利用EXCEL2003版及以下版本的缺陷,即无法禁止EXCEL4.0宏,来迫使用户“启用宏”,然后通过ToDOLE模块中的VBA代码执行病毒程序(有的在ThisWorkbook模块中也出现自动运行的宏病毒代码)。

  删除宏病毒步骤2:打开后按ALT+F11调出VBA窗口,先将里面的ToDOLE模块删除(不光是删除里面的代码,而是删除这个模块),然后双击ThisWorkbook模块,看里面有没有代码,如果有也删除(这个里面只能删除代码,而不能删除模块)。

  这样基本上VBA部分(主要的病毒部分)就清除了,保存这个工作簿,再继续下面工作。

  删除宏病毒步骤3:剩下要清除4.0宏了,这个宏是通过“宏表”来起作用的。

  删除宏病毒步骤4:但病毒的作者都会将这个宏表隐藏起来,用通常的“格式-工作表-取消隐藏”的方法无效,不能显示它,只能通过一段VBA代码解除它的隐藏状态。

  另外病毒在该工作簿中的每一个工作表中都会定义一个"Auto_Activate"名称,这个名称也是隐藏的,无法通过“插入-名称-定义”或者“名称管理器”来查看,也需要通过一段VBA代码来删除。

  删除宏病毒步骤5:下面通过一段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

  删除宏病毒步骤6:这个代码应该放到一个新建的空白工作簿中

  删除宏病毒步骤7:假设有宏病毒的工作簿为“工作簿1”,我们在建立一个空白的工作簿,假设为“工作簿2”。

  删除宏病毒步骤8:打开这个工作簿2的VBA窗口(ALT+F11),给它插入一个用户模块。

  删除宏病毒步骤9:把上面代码粘贴到这个用户模块中,按F5执行代码,会提示输入那个有宏表的工作簿1的名字,输入后按确定,会自动删除宏表及"Auto_Activate"名称。

  删除宏病毒步骤10:最后保存工作簿1,退出EXCEL。

  提示:那个用来删除宏表的工作簿2可以不保存,直接退出。

  删除宏病毒步骤11:重新打开原来那个有提示的工作簿1看看,是否提示已经没了。

看了excel2003删除宏病毒的方法还看了:

1.excel2013删除宏病毒的方法

2.excel怎么清除宏病毒

3.Excel2010怎么预防宏病毒

4.excel如何筛选重复数据的方法

5.excel2013开启控件工具箱的方法

6.怎么才能彻底清除病毒

7.世界上20大电脑病毒

    675220