最近出现的Excel文件包含有一种宏病毒,常常导致较高安全级别的Excel不能正常打开,会提示如下问题:
该工作簿中含有一种既无法被禁用又无法被签署的宏(Microsoft Excel 4.0 版本宏)。因此,该工作簿无法在“高安全级”下打开。如果要打开此工作簿,请单击“工具”菜单上的“宏”,然后单击“安全性”,再单击“安全性”对话框中的“中”。
之前提示同事使用宏病毒专杀工具进行查杀,基本上被识别的病毒都能被正常清理,但是有些提示不是病毒,或者是残留导致出现这种情况,而且我们又不希望调低安全级别(低安全级别往往会导致病毒乘虚而入),即使你被迫运行了宏程序并正常打开了Excel,若这份Excel再发送给其他人,对于高级别安全设置的Excel依旧打不开,给对方也带来了麻烦。
本文要介绍的是我编写的一个脚本工具,用于清除Excel表中的所有的宏,包括清理有用没用,病毒或者不是病毒的全部宏程序,从而不调低安全级别而彻底解决这个问题。
本工具主要清理这些类型的宏程序或者相关属性:标准模块、类模块、窗体、文档代码模块、非内置的引用、宏表、对话框表、名称。
一般是就地清理并保存文档,若遇到加密受保护的表或者代码的话,会将其间所有数据表复制出来新建一张工作簿替换原有的。所有修改的文档的修改日期维持不变。
警告:本工具会清除目标Excel的全部宏程序及相关代码,对于包含正常宏程序的Excel请不要使用本工具。本工具为我利用自己空闲时间编写,现仅提供给大家测试,限于时间仓促以及个人能力有限所以我不保证本软件不含有缺陷(Bug),请在使用前备份你的目标数据文档,对于使用本工具产生的一切后果本人不负任何责任。
首先下载工具Excel宏清理工具。运行setup.bat进行安装,对于Windows Vista及以上系统不需要右击以管理员身份运行,待安装程序进行时会提示以管理员权限运行,点击“是”就可以了。
注意:如果你电脑里的安全工具(某某卫士、某某管家、某某杀毒软件)报警的话,请点击允许放行安装,否则将无法正常安装。
默认启动安装后会提示是否安装到C:Program Files(以你电脑默认程序文件夹配置为准),若另选其他安装路径,请点击否。
待安装程序提示安装完成后,你就可以以下面几种方式中的一种使用本程序了。
1、对Excel文件直接右击选择“清除Excel宏程序”。
2、对于包含有Excel的文件夹或者磁盘驱动器右击选择“清除Excel宏程序”。(可能时间较长,不推荐对包含大量Excel的文件夹或者驱动器进行此类操作)
3、刚才第1、2步还可以使用发送到,右击选择发送到“清除Excel宏程序”。
警告:使用本工具前请关闭或存档已经打开的Excel工作簿,本工具运行前需要关闭所有Excel以保证清理效果,并且在本工具运行期间不可以再次运行Excel程序。不要对多个已经选择的Excel进行相应操作,否则可能会导致多个清理工具启动冲突。
另外要使得程序正常运行,Excel必须启用“信任对于“Visual Basic项目”的访问”,正常情况下本程序启动会尝试自己开启此模式,然后在清理任务结束时恢复原先设置,但是已知可能的Bug是,最后设置不能正常恢复,该设置“信任对于“Visual Basic项目”的访问”的关闭可以提升Excel的安全性,所以建议在清理完成后手动调整该设置为安全值。
(1) 打开您的Excel,新建空白表,点击工具 > 宏 > 安全性。
(2) 选择 ‘可靠发行商’ 选项卡。
(3) 去掉’信任对于“Visual Basic项目”的访问’的勾。
(4) 点击确定关闭对话框。
如果要卸载,请在控制面板,添加删除程序里操作,或者再次运行setup.bat。
Excel宏清理工具下载地址:http://pan.baidu.com/share/link?shareid=3292868524&uk=3509330452
根据收集上来的反馈,主要有两点问题:一是调用本工具清理带毒的Excel时容易导致病毒脚本执行;二是本工具容易被安全软件误报为病毒。
所以不建议大家用本工具清理带毒Excel的宏,但可以用来清理非毒的宏程序残留。