當前位置:編程學習大全網 - 源碼下載 - 在EXECL中,中了宏病毒,不用殺毒軟件,用手工的辦法怎麽刪除宏?

在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,選擇開啟宏即可.

  • 上一篇:開機後按DELL鍵顯示的時enter current password: 是什麽意思
  • 下一篇:股票中的MACD是什麽意思
  • copyright 2024編程學習大全網