excel2003刪除宏病毒的方法
在Excel中錄入數(shù)據(jù)時(shí)多數(shù)都需要使用到宏功能,而宏功能正是涉及到安全性問題才被Excel默認(rèn)禁用,如果在用的時(shí)候不小心真的中毒了,別擔(dān)心,還是有解決方法的。下面是學(xué)習(xí)啦小編帶來的關(guān)于excel2003刪除宏病毒的方法,希望閱讀過后對你有所啟發(fā)!
excel2003刪除宏病毒的方法:
刪除宏病毒步驟1:先簡單說一下這個(gè)宏病毒的原理,它由兩部分組合,一部分是利用EXCEL2003版及以下版本的缺陷,即無法禁止EXCEL4.0宏,來迫使用戶“啟用宏”,然后通過ToDOLE模塊中的VBA代碼執(zhí)行病毒程序(有的在ThisWorkbook模塊中也出現(xiàn)自動運(yùn)行的宏病毒代碼)。
刪除宏病毒步驟2:打開后按ALT+F11調(diào)出VBA窗口,先將里面的ToDOLE模塊刪除(不光是刪除里面的代碼,而是刪除這個(gè)模塊),然后雙擊ThisWorkbook模塊,看里面有沒有代碼,如果有也刪除(這個(gè)里面只能刪除代碼,而不能刪除模塊)。
這樣基本上VBA部分(主要的病毒部分)就清除了,保存這個(gè)工作簿,再繼續(xù)下面工作。
刪除宏病毒步驟3:剩下要清除4.0宏了,這個(gè)宏是通過“宏表”來起作用的。
刪除宏病毒步驟4:但病毒的作者都會將這個(gè)宏表隱藏起來,用通常的“格式-工作表-取消隱藏”的方法無效,不能顯示它,只能通過一段VBA代碼解除它的隱藏狀態(tài)。
另外病毒在該工作簿中的每一個(gè)工作表中都會定義一個(gè)"Auto_Activate"名稱,這個(gè)名稱也是隱藏的,無法通過“插入-名稱-定義”或者“名稱管理器”來查看,也需要通過一段VBA代碼來刪除。
刪除宏病毒步驟5:下面通過一段VBA代碼,可以刪除宏表以及"Auto_Activate"名稱。
Subabc()
'運(yùn)行前先打開這個(gè)有“禁用宏就關(guān)閉”的工作簿
t=InputBox("輸入工作簿名稱*.xls")
Seta=Workbooks(t)
a.Activate
'顯示宏工作表
s=0
ForEachshInExcel4MacroSheets
sh.Visible=1'顯示宏表
sh.Delete'刪除
s=s+1
Next
MsgBox"刪除了"&s&"個(gè)宏表"
'刪除各表中的自動運(yùn)行“名稱”
OnErrorResumeNext
Fori=1ToSheets.Count
Sheets(i).Names("Auto_Activate").Delete
Next
MsgBox"完畢,請保存這個(gè)工作簿"
EndSub
刪除宏病毒步驟6:這個(gè)代碼應(yīng)該放到一個(gè)新建的空白工作簿中
刪除宏病毒步驟7:假設(shè)有宏病毒的工作簿為“工作簿1”,我們在建立一個(gè)空白的工作簿,假設(shè)為“工作簿2”。
刪除宏病毒步驟8:打開這個(gè)工作簿2的VBA窗口(ALT+F11),給它插入一個(gè)用戶模塊。
刪除宏病毒步驟9:把上面代碼粘貼到這個(gè)用戶模塊中,按F5執(zhí)行代碼,會提示輸入那個(gè)有宏表的工作簿1的名字,輸入后按確定,會自動刪除宏表及"Auto_Activate"名稱。
刪除宏病毒步驟10:最后保存工作簿1,退出EXCEL。
提示:那個(gè)用來刪除宏表的工作簿2可以不保存,直接退出。
刪除宏病毒步驟11:重新打開原來那個(gè)有提示的工作簿1看看,是否提示已經(jīng)沒了。
看了excel2003刪除宏病毒的方法還看了: