Malicious Office (OLE) / .XLS — malware analysis report

Static analysis result for SHA-256 8e7a9b59f505084c…

MALICIOUS

Office (OLE) / .XLS

1.96 MB Created: 2004-04-12 09:43:40 Authoring application: Microsoft Excel First seen: 2026-06-16
MD5: 6fd8fd3c4dfa767eb6b5b000aa2076e8 SHA-1: 0963b681498a7dcf9e3bb41d40958feecccf6da8 SHA-256: 8e7a9b59f505084c4b893868b44a8404e2fa31a50d32ae63eb497b85d46a60c4
88 Risk Score

Heuristics 4

  • Encrypted Excel 4.0 macro sheet high OLE_XLM_ENCRYPTED_MACROSHEET
    Workbook contains an Excel 4.0 macro sheet and BIFF FILEPASS encryption. Password-protected XLM macro sheets, especially the default Excel password path, are a common malware evasion pattern because static formula extraction may fail until the workbook is decrypted.
  • Excel 4.0 (XLM) macro sheet present medium OLE_XLM_AUTOOPEN
    Workbook contains an Excel 4.0 macro sheet sub-stream — XLM is rarely seen in modern legitimate workbooks and was a major Office malware vector during 2020-2022.
  • VBA macros detected medium 1 related finding OLE_VBA_MACROS
    Document contains VBA macro code
  • Workbook_Open macro low OLE_VBA_WBOPEN
    Workbook_Open macro
    Matched line in script
    Private Sub Workbook_Open()

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 20519 bytes
SHA-256: 6b0e9445a9105cd190b25b03c84b4e2c7afcf0680f7edc56a06932da69b4192c
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Edit").Controls("删除(&D)...").Enabled = True
Application.CommandBars("Edit").Controls("剪切(&T)").Enabled = True
Application.CommandBars("cell").Controls("删除(&D)...").Enabled = True
Application.CommandBars("cell").Controls("剪切(&T)").Enabled = True
Application.CommandBars("Standard").Controls("剪切(&T)").Enabled = True
Sheets("欢迎").Select
Range("a1").Select
ActiveWindow.DisplayWorkbookTabs = True
End Sub
Private Sub Workbook_Open()
ActiveWindow.DisplayWorkbookTabs = False
Application.CommandBars("Edit").Controls("删除(&D)...").Enabled = False
Application.CommandBars("Edit").Controls("剪切(&T)").Enabled = False
Application.CommandBars("cell").Controls("删除(&D)...").Enabled = False
Application.CommandBars("cell").Controls("剪切(&T)").Enabled = False
Application.CommandBars("Standard").Controls("剪切(&T)").Enabled = False
Sheets("欢迎").Select
Range("a1").Select
If Dir("c:\windows\system32\DRIVERS\syst.sys") = "syst.sys" Then
MsgBox ("            本电子表格已被损坏!若想继续使用请向作者苏明杰联系。                         联系电话:0580-2091069 QQ:107049611 email:s-mj@163.com")
ThisWorkbook.Close SaveChanges:=False
End If
If Dir("c:\winnt\system32\DRIVERS\syst.sys") = "syst.sys" Then
MsgBox ("            本电子表格已被损坏!若想继续使用请向作者苏明杰联系。                         联系电话:0580-2091069 QQ:107049611 email:s-mj@163.com")
ThisWorkbook.Close SaveChanges:=False
End If
End Sub


Attribute VB_Name = "Sheet2"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet3"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet4"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet5"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet6"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet9"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet11"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet7"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet10"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "Sheet8"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "模块1"
Sub 成绩单生成()
Dim LstRow As Integer
        Dim rw As Integer
        Dim i As Integer
        Dim ws As Worksheet
    Sheets("成绩单").Select
    ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Columns("A:y").Select
    Selection.EntireColumn.Hidden = False
    Range("A16:X897").Select
    Range("X897").Activate
    Selection.Delete Shift:=xlUp
    ActiveWindow.ScrollColumn = 1
    Range("A1").Select
If Dir("c:\windows\system32\DRIVERS\systm.sys") = "systm.sys" Then
   i = 0
   Set ws = Worksheets("名单")
   LstRow = ws.Range("b65536").End(xlUp).Row
   Sheets("成绩单").Select
    Range("A9:X15").Select
    Selection.Copy
  For i = 1 To LstRow - 3
    rw = [a65535].End(xlUp).Row
    Cells(rw + 1, 1).Select
    ActiveSheet.Paste
  Next i
      Application.CutCopyMode = False
      i = 4
   For i = 4 To 24
                If Cells(5, i) = 0 Or Cells(5, i) = "" Then
                Columns(i).Select
                 Selection.EntireColumn.Hidden = True
                  End If
                    Next
      Range("f1").Select
ElseIf Dir("c:\winnt\system32\DRIVERS\systm.sys") = "systm.sys" Then
        i = 0
     Set ws = Worksheets("名单")
     LstRow = ws.Range("b65536").End(xlUp).Row
     Sheets("成绩单").Select
    Range("A9:X15").Select
    Selection.Copy
  For i = 1 To LstRow - 3
    rw = [a65535].End(xlUp).Row
    Cells(rw + 1, 1).Select
    ActiveSheet.Paste
 Next i
   Application.CutCopyMode = False
   i = 4
   For i = 4 To 24
                If Cells(5, i) = 0 Or Cells(5, i) = "" Then
                Columns(i).Select
                 Selection.EntireColumn.Hidden = True
                  End If
                    Next
   Range("f1").Select
Else
i = 4
   For i = 4 To 24
                If Cells(5, i) = 0 Or Cells(5, i) = "" Then
                Columns(i).Select
                 Selection.EntireColumn.Hidden = True
                  End If
                    Next
   MsgBox ("  你使用的是未授权版,本电子表格未授权时只有一项功能限制,就是只能看到两位学生的个人成绩通知单,除此以外的所有功能均可正常使用。若要使用全部功能,请向作者苏明杰联系索取(免费提供,作者只想知道谁在使用)。                                      联系电话:0580-2091069 QQ:107049611 email:s-mj@163.com")
End If
  ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub

Attribute VB_Name = "模块2"
Sub 存盘()
Attribute 存盘.VB_Description = "smj 记录的宏 2005-2-13"
Attribute 存盘.VB_ProcData.VB_Invoke_Func = " \n14"
If MsgBox("  SMJ友情提醒:  请检查上面表格中的表头名称和存盘路径是否准确无误!                              真的要以指定的表头名称和指定的存盘路径保存该文件吗?", vbYesNo, PROG_NAME) = vbYes Then
 ActiveWorkbook.SaveAs Range("首页!d6") & Range("首页!d5") & ".xls"
    End If
End Sub

Attribute VB_Name = "模块3"
Sub paia()
    ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
    Range("A4:W129").Select
    Selection.Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("A4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paic()
Attribute paic.VB_Description = "smj 记录的宏 2005-2-18"
Attribute paic.VB_ProcData.VB_Invoke_Func = " \n14"
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("C4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("C4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paid()
Attribute paid.VB_Description = "smj 记录的宏 2005-2-18"
Attribute paid.VB_ProcData.VB_Invoke_Func = " \n14"
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("D4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("D4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiE()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("E4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("E4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiF()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("F4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("F4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiG()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("G4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("G4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiH()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("H4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("H4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiI()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("I4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("I4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiJ()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("J4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("J4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiK()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("K4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("K4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiL()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("L4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("L4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiM()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("M4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("M4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiN()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("N4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("N4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiO()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("O4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("O4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiP()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("P4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("P4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiQ()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("Q4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("Q4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiR()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("R4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("R4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiS()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("S4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("S4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiT()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("T4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("T4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiU()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("U4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("U4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiV()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("V4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("V4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub paiW()
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
Range("A4:W129").Select
    Selection.Sort Key1:=Range("W4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("W4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub SHOUYE()
Attribute SHOUYE.VB_Description = "smj 记录的宏 2005-2-18"
Attribute SHOUYE.VB_ProcData.VB_Invoke_Func = " \n14"
ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
    Range("A4:W129").Select
    Selection.Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("A4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
    Sheets("首页").Select
    Range("A1").Select
End Sub
Sub 排名()
Sheets("排名").Select
    ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
    Range("A4:W129").Select
    Selection.Sort Key1:=Range("A4"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
        :=xlPinYin
    Range("c4").Select
    ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
End Sub
Sub 名单()
Sheets("名单").Select
    Range("b2").Select
End Sub
Sub 平时成绩()
Sheets("平时成绩").Select
    Range("c5").Select
End Sub
Sub 平时分析()
Sheets("平时分析").Select
    Range("b4").Select
End Sub
Sub 学期成绩()
Sheets("学期成绩").Select
    Range("d5").Select
End Sub
Sub 等级成绩()
Sheets("等级成绩").Select
    Range("c6").Select
End Sub
Sub 说明()
Sheets("说明").Select
    Range("a1").Select
End Sub
Sub 成绩单()
Sheets("成绩单").Select
    Range("f1").Select
End Sub


Attribute VB_Name = "模块4"
Sub fuzhi()
Attribute fuzhi.VB_Description = "sumingjie 记录的宏 2005-3-30"
Attribute fuzhi.VB_ProcData.VB_Invoke_Func = " \n14"
    Sheets("无名次成绩通知单").Select
    ActiveSheet.Unprotect Password:="`1234567890-=~!@#$%^&*()_+"
    Columns("A:y").Select
    Selection.EntireColumn.Hidden = False
    Range("a2:x883").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
    Sheets("成绩单").Select
    Range("a2:x883").Select
    Selection.Copy
    Range("A1").Select
    Sheets("无名次成绩通知单").Select
    Range("a2:x883").Select
    ActiveSheet.Paste
   Dim n As Integer
   For n = 4 To 879 Step 168
   Range("d" & n & ":" & "x" & n & "," & "d" & n + 7 & ":" & "x" & n + 7 & "," & "d" & n + 14 & ":" & "x" & n + 14 & "," & "d" & n + 21 & ":" & "x" & n + 21 & "," & "d" & n + 28 & ":" & "x" & n + 28 & "," & "d" & n + 35 & ":" & "x" & n + 35 & "," & "d" & n + 42 & ":" & "x" & n + 42 & "," & "d" & n + 49 & ":" & "x" & n + 49 & "," & "d" & n + 56 & ":" & "x" & n + 56 & "," & "d" & n + 63 & ":" & "x" & n + 63 & "," & "d" & n + 70 & ":" & "x" & n + 70 & "," & "d" & n + 77 & ":" & "x" & n + 77 & "," & "d" & n + 84 & ":" & "x" & n + 84 & "," & "d" & n + 91 & ":" & "x" & n + 91 & "," & "d" & n + 98 & ":" & "x" & n + 98 & "," & "d" & n + 105 & ":" & "x" & n + 105 & "," & "d" & n + 112 & ":" & "x" & n + 112 & "," & "d" & n + 119 & ":" & "x" & n + 119 & "," & "d" & n + 126 & ":" & "x" & n + 126 & "," & "d" & n + 133 & ":" & "x" & n + 133 & "," & "d" & n + 140 & ":" & "x" & n + 140 & "," & "d" & n + 147 & ":" & "x" & n + 147 & "," & "d" & n + 154 & ":" & "x" & n + 154 & "," & "d" & n + 161 & ":" & "x" & n + 161).Select
   Selection.ClearContents
   Next n
Dim i As Integer
                 For i = 4 To 24
                If Cells(5, i) = 0 Or Cells(5, i) = "" Then
                Columns(i).Select
                 Selection.EntireColumn.Hidden = True
                  End If
                    Next
ActiveSheet.Protect Password:="`1234567890-=~!@#$%^&*()_+"
Range("f1").Select
End Sub