银行担保公司:清除excel宏病毒startup.xls及解决excel弹出“系统内存不能为'write' or 'read'”的方法

来源:百度文库 编辑:中财网 时间:2024/05/11 19:17:50

现象:只要打开EXCEL文档时,系统就弹出“系统内存不能为 'write' or 'read'”的

系统提示

所中病毒:startup.xls宏病毒

解决方法:

    1.手工清除 

        A、 搜索“startup.xls”文件,     搜索到后,直接删除,如不能删除的,那就在安全模式下删除;

     B.打开注册表,搜索“startup.xls”,搜索到后,直接删除;

   C.在C:\Documents and Settings\administrator\Application Data\Microsoft\Excel\XLSTART\目录下,新建一个空白的startup.xls文件

以上三步做后,就可以解决弹出“系统内存不能为'write' or 'read'”的问题。

2.代码删除
              A、 搜索“startup.xls”文件,     搜索到后,直接删除,如不能删除的,那就在安全模式下删除;

            B.新建\Documents and Settings\administrator\Application Data\Microsoft\Excel\XLSTART\startup.xls文件,输入以下代码就行了,以后再打开带毒的excel文件就会自动清除excel文件自带的病毒宏代码了

 Sub auto_open()
On Error Resume Next
Application.ScreenUpdating = False
ActiveWindow.Visible = False
n$ = ActiveWorkbook.Name
Workbooks(n$).Close (False)
Application.OnSheetActivate = "StartUp.xls!cop"
End Sub
Sub cop()
On Error Resume Next
Dim VBC As Object
Dim Name As String
Dim delComponent As VBComponent
Name = "StartUp"
For Each book In Workbooks
Set delComponent = book.VBProject.VBComponents(Name)
book.VBProject.VBComponents.Remove delComponent
Next
End Sub
在保存文件时,报:Dim   b   As   VBComponent 编译错误“用户定义类型未定义”
解决方法:工具--引用--microsoft visual basic for applications extensibility 5.3 把它选上,就不会有编译错误了。至少这个库(vbIDE)里   

今天一个朋友让我帮忙看一个问题,说是Excel文件一打开再保存就提示“此文档中包含宏、ActiveX 控件、XML 扩展包信息或Web组件。他们中可能含个人作息,这些作息无法能过设置“工具”菜单下“选项”对话框“安全性”选项卡中的“保存时从文件属性中删除个人作息”来删除”。当时只是以为设置的问题,后来查了好几小时才发现原来是中了个宏病毒,名字是:StartUp.xls,中间定位病毒的过程也比较曲折(主要是自己学艺不精)。

通过参考网上一些资料,采取以下的方法处理,可以清除病毒并使感染文件在修改保存后也清除病毒(网上有人说用360或卡巴直接杀会导致文件打不开,没有试验,不知是真是假):

一、删除

C:\Documents and Settings\Administrator\Application Data\Microsoft\Excel\Excel11.xls

,该文件删除后,Excel会自动重建的;

二、删除

C:\Documents and Settings\Administrator\Application Data\Microsoft\Excel\XLSTART\StartUp.xls

; 

三、新建一个空的StartUp.xls,然后录制宏(随便录,只是为了能打开VBA编辑器); 

四、从“工具->宏->宏”里面,选择刚才录制的宏,选择“编辑”,把全部内容都选中,把用下列内容替换:

Vba代码 Sub auto_open()
On Error Resume Next
Application.ScreenUpdating = False
ActiveWindow.Visible = False
n$ = ActiveWorkbook.Name
Workbooks(n$).Close (False)
Application.OnSheetActivate = "StartUp.xls!cop"
End Sub
Sub cop()
On Error Resume Next
Dim VBC As Object
Dim Name As String
Name = "StartUp"
For Each book In Workbooks
Set delComponent = book.VBProject.VBComponents(Name)
book.VBProject.VBComponents.Remove delComponent
Next
End Sub

 五、保存,然后再打开染毒文档,修改保存一下就可以清除掉感染的病毒。