zoukankan      html  css  js  c++  java
  • 考勤机文本记录写入EXCEL

    考勤机记录格式:

    000971201202271838
    000974201202271839
    000982201202281849
    000953201202281849

    格式说明:

    1~5 工号

    6     (1=上班上班, 2=上午下班, 3=下午上班, 4=下午下班, 5=晚上上班, 6=晚上下班)

    7~10 年

    11~12 月

    13~14 日

    15~16 时

    17~18 分

    EXCEL 格式:

    日期 员工编号 姓名 上午上班 上午下班 下午上班 下午下班 晚上上班 晚上下班
                     
                     
    View Code
      1 Private Sub CommandButton1_Click()
    2 Dim TxtName As String
    3 Dim fNum As Integer
    4 Dim i, t, j, k, ap As Integer
    5 Dim ep, st As String
    6 Dim ad As Date
    7
    8 ap = 0
    9 t = ActiveSheet.Range("A65535").End(xlUp).Row
    10
    11 fNum = FreeFile
    12 TxtName = Application.GetOpenFilename("TEXT Files (*.TXT), *.TXT", 0, "Please select a Text File", , False)
    13 Open TxtName For Input As #fNum
    14
    15 i = t + 1
    16
    17 Do While Not EOF(1)
    18 Line Input #1, kqLine
    19 ep = CStr(Mid(kqLine, 1, 5)) 'employee code
    20 ad = CDate(Mid(kqLine, 7, 4) & "-" & Mid(kqLine, 11, 2) & "-" & Mid(kqLine, 13, 2)) 'date
    21 st = Mid(kqLine, 15, 2) & ":" & Mid(kqLine, 17, 2) 'time
    22
    23 If i = 2 Then
    24 Range("A" + Trim(Str(i))) = ad
    25 Range("B" + Trim(Str(i))) = ep
    26
    27 If Mid(kqLine, 6, 1) = 1 Then
    28 Range("D" + Trim(Str(i))) = st
    29 End If
    30
    31 If Mid(kqLine, 6, 1) = 2 Then
    32 Range("E" + Trim(Str(i))) = st
    33 End If
    34
    35 If Mid(kqLine, 6, 1) = 3 Then
    36 Range("F" + Trim(Str(i))) = st
    37 End If
    38
    39 If Mid(kqLine, 6, 1) = 4 Then
    40 Range("G" + Trim(Str(i))) = st
    41 End If
    42
    43 If Mid(kqLine, 6, 1) = 5 Then
    44 Range("H" + Trim(Str(i))) = st
    45 End If
    46
    47 If Mid(kqLine, 6, 1) = 6 Then
    48 Range("I" + Trim(Str(i))) = st
    49 End If
    50 i = i + 1
    51 t = t + 1
    52 Else
    53 j = 2
    54 Do While j <= t
    55
    56 If Range("A" + Trim(Str(j))) = ad And Range("B" + Trim(Str(j))) = ep Then
    57 k = Range("A" + Trim(Str(j))).Row
    58
    59 If Mid(kqLine, 6, 1) = 1 Then
    60 Range("D" + Trim(Str(k))) = st
    61 End If
    62
    63 If Mid(kqLine, 6, 1) = 2 Then
    64 Range("E" + Trim(Str(k))) = st
    65 End If
    66
    67 If Mid(kqLine, 6, 1) = 3 Then
    68 Range("F" + Trim(Str(k))) = st
    69 End If
    70
    71 If Mid(kqLine, 6, 1) = 4 Then
    72 Range("G" + Trim(Str(k))) = st
    73 End If
    74
    75 If Mid(kqLine, 6, 1) = 5 Then
    76 Range("H" + Trim(Str(k))) = st
    77 End If
    78
    79 If Mid(kqLine, 6, 1) = 6 Then
    80 Range("I" + Trim(Str(k))) = st
    81 End If
    82 ap = 1
    83 Exit Do
    84 Else
    85 j = j + 1
    86 ap = 0
    87 End If
    88 Loop
    89
    90 If ap = 0 Then
    91
    92 Range("A" + Trim(Str(i))) = ad
    93 Range("B" + Trim(Str(i))) = ep
    94
    95 If Mid(kqLine, 6, 1) = 1 Then
    96 Range("D" + Trim(Str(i))) = st
    97 End If
    98
    99 If Mid(kqLine, 6, 1) = 2 Then
    100 Range("E" + Trim(Str(i))) = st
    101 End If
    102
    103 If Mid(kqLine, 6, 1) = 3 Then
    104 Range("F" + Trim(Str(i))) = st
    105 End If
    106
    107 If Mid(kqLine, 6, 1) = 4 Then
    108 Range("G" + Trim(Str(i))) = st
    109 End If
    110
    111 If Mid(kqLine, 6, 1) = 5 Then
    112 Range("H" + Trim(Str(i))) = st
    113 End If
    114
    115 If Mid(kqLine, 6, 1) = 6 Then
    116 Range("I" + Trim(Str(i))) = st
    117 End If
    118 i = i + 1
    119 t = t + 1
    120 End If
    121
    122
    123 End If
    124
    125 Loop
    126
    127 Close #fNum
    128
    129 End Sub


     

  • 相关阅读:
    基于live555的视频直播 DM368IPNC RTSP分析
    C语言中的二级指针(双指针)
    SQL中的IF ELSE(CASE语句的使用)
    Ubuntu下Postgres安装与配置
    虚拟机+ubuntu 图形界面和终端界面的切换
    中科院 2014年工程硕士入学专业课笔试考场安排
    中科院 2014年GCT考前辅导课程安排
    中科院 工程硕士专业课 复试考试前的辅导安排
    中国科学院大学工程管理与信息技术学院 2014年招收以下八个领域在职工程硕
    中国科学院大 工程管理与信息技术学院 在职工程硕士资格审查和复试重要通知
  • 原文地址:https://www.cnblogs.com/linmf/p/2393782.html
Copyright © 2011-2022 走看看