CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc MÔ TẢ GIẢI PHÁP Mã số 1 Tên sáng kiến Dùng Visual Basic để xây dựng chương trình in danh sách học sinh[.]
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc MÔ TẢ GIẢI PHÁP Mã số: Tên sáng kiến: Dùng Visual Basic để xây dựng chương trình in danh sách học sinh kì thi (@THPT Huỳnh Tấn Phát Trần Minh Trí Huỳnh Nhã Trân Lê Thị Tuyết Loan) Lĩnh vực áp dụng sáng kiến: Chuyên môn – môn Tin học Mô tả chất sáng kiến: 3.1 Tình trạng giải pháp biết: Tin học công cụ quan trọng phục vụ người đại, thành thạo kỹ tin học giúp tiết kiệm thời gian công sức Chỉ với thao tác nhanh chóng máy tính, người hồn thành tốt vấn đề liên quan đến văn bản, bảng tính tốn, danh sách học sinh,… Tin học làm tăng suất hiệu cơng việc học tập Có kỹ tin học vững vàng, cá nhân có khả xử lý cơng việc chun nghiệp, góp phần giúp nhà trường vận hành trôi chảy khâu Ở trường năm phải thực tổ chức đợt thi, cơng việc văn phịng thường xun thành lập danh sách cho phòng thi Nhằm nâng cao chất lượng học tập học sinh, nhà trường cho học sinh khối 10, khối 11 ngồi xen kẽ với phịng thi Danh sách phịng thi có dạng sau: skkn Trang Để thực danh sách phận văn phòng gặp phải hạn chế sau: + Còn sử dụng thao tác đơn giản cắt dán, chưa ứng dụng triệt để công nghệ thông tin vào công việc cách tự động hoá + Thao tác cắt, dán lặp lặp lại nhiều lần dễ gây nhằm lẫn dẫn đến xẩy vài sai sót + Văn phòng thường sử dụng danh sách học sinh đầu năm nên sau lập danh sách thi tên vài học sinh bỏ học từ lâu + Văn phòng chưa sử dụng danh sách Vnedu (đã cập nhật số học sinh nghỉ học thường xuyên) để lập danh sách phòng thi + Chưa tiết kiệm thời gian công sức để tăng suất hiệu cơng việc Chính từ hạn chế đó, thân tơi nghiên cứu xây dựng giải pháp có tên là: “Dùng Visual Basic để xây dựng chương trình in danh sách học sinh kì thi” Giải pháp nhằm xây dựng chương trình cần lấy danh sách học sinh Vnedu sau nhấn vào nút “Lập danh sách” chương trình tự động lập danh sách phòng thi xuất dạng Excel (mỗi phòng thi Sheet) Chương trình cịn có chức ưu việt khắc phục hạn chế sau: skkn Trang + Tiết kiệm thời gian công sức để tăng suất hiệu công việc + Chỉ cần lấy danh sách học sinh Vnedu chép vào thư mục “Khoi 10”, “Khoi 11” chương trình tự động lấy liệu thư mục để lập danh sách phịng thi + Chương trình loại bỏ học sinh nghỉ học nên khơng cịn trường hợp danh sách phịng thi có học sinh nghỉ học + Khơng cịn thao tác cắt, dán nên hạn chế tối đa việc nhầm lẫn sai sót + Việc lập danh sách phòng thi cách tự động, ứng dụng triệt để công nghệ thông tin vào công việc nhà trường skkn Trang 3.2 Nội dung giải pháp đề nghị công nhận sáng kiến: 3.2.1 Mục đích giải pháp: - Khi thực giải pháp tạo cho cơng tác văn phịng lập danh sách phịng thi cách nhanh chóng, hiệu - Ứng dụng giải pháp giúp công việc thực cách tự động, tiến hành cách xác, khoa học, hợp lí có ứng dụng cơng nghệ thông tin phù hợp với yêu cầu đổi 3.2.2 Điểm giải pháp: Chương trình có chức ưu việt giúp ích cơng tác văn phịng: + Tiết kiệm thời gian cơng sức để tăng suất hiệu công việc + Chỉ cần lấy danh sách học sinh Vnedu chép vào thư mục “Khoi 10”, “Khoi 11” chương trình tự động lấy liệu thư mục để lập danh sách phòng thi + Chương trình loại bỏ học sinh nghỉ học nên khơng cịn trường hợp danh sách phịng thi có học sinh nghỉ học + Khơng cịn thao tác cắt, dán nên hạn chế tối đa việc nhầm lẫn sai sót + Việc lập danh sách phòng thi cách tự động, ứng dụng triệt để công nghệ thông tin vào công việc nhà trường 3.2.3 Bản chất giải pháp: - Với giải pháp sử dụng ngơn ngữ lập trình Visual Basic để xây dựng chương trình nhằm phục vụ cho cơng tác văn phịng với cơng việc lập danh sách phịng thi đợt thi học sinh nhà trường - Để lập danh sách phòng thi ta thực bước sau: Bước 1: Lấy tất danh sách học sinh khối 10, khối 11 mạng Vnedu chép vào thư mục “Khoi 10”, “Khoi 11” skkn Trang Bước 2: Chạy chương trình cách nháy đúp “CT Xep phong thi.exe” ta giao diện chương trình sau: (Giao diện chương trình) Bước 2: Ta xem đủ danh sách lớp hay khơng có trường hợp số phịng thi khơng phải bắt đầu (Phịng thi số 5, Phịng thi số 6,…) ta sửa lại cho phù hợp Bước 3: Cuối ta nháy vào nút: skkn Trang Sau nháy vào nút “Lập danh sách” ta kết với Sheet phịng thi sau: - Để làm chương trình có giao diện đạt kết tơi sử dụng ngơn ngữ lập trình Visual Basic xây dựng thủ tục hỗ trợ giải công việc hoàn thiện giải pháp Một vài thủ tục sau: Thủ tục lấy tập tin danh sách lớp thư mục “Khoi 10”, “Khoi 11”: + Private Sub FileKhoi10() Dim F As String F = Dir$(App.Path & "\Khoi10\" & "*.xls") List1.Clear While Len(F) List1.AddItem F F = Dir$ Wend End Sub + Private Sub FileKhoi11() Dim F As String F = Dir$(App.Path & "\Khoi11\" & "*.xls") skkn Trang List2.Clear While Len(F) List2.AddItem F F = Dir$ Wend End Sub Thủ tục lấy danh sách học sinh lớp đưa vào mảng để xếp, xử lí ghi File Excel: + Private Sub DocArr10() - Đọc danh sách HS khối 10 đưa vào mảng -Dim arr, Item, N Dim FileName As String, SheetName As String, RangeAddress As String i=0 N = List1.ListCount For j = To N - FileName = App.Path & "\Khoi10\" & List1.List(j) SheetName = "Sheet1" RangeAddress = "E8:E55" arr = GetData(FileName, SheetName, RangeAddress) If IsArray(arr) Then For Each Item In arr If Item "" Then i=i+1 MangHS10(i).HoTen = Item MangHS10(i).Lop = Left(Right(List1.List(j), 9), 5) End If Next End If Next SL10 = i End Sub + Private Sub DocArr11() - Đọc danh sách HS khối 11 đưa vào mảng -Dim arr, Item, N Dim FileName As String, SheetName As String, RangeAddress As String i=0 N = List2.ListCount For j = To N - FileName = App.Path & "\Khoi11\" & List2.List(j) SheetName = "Sheet1" skkn Trang RangeAddress = "E8:E55" arr = GetData(FileName, SheetName, RangeAddress) If IsArray(arr) Then For Each Item In arr If Item "" Then i=i+1 MangHS(i).HoTen = Item MangHS(i).Lop = Left(Right(List2.List(j), 9), 5) End If Next End If Next SL11 = i End Sub Thủ tục xuất kết tập tin Excel: Private Sub GhiFile() Set xlTmp = CreateObject("Excel.Application") xlTmp.Workbooks.Open App.Path & "\KQ.xls" 'Set xlSht = Excel.Worksheet ' Ghi 11 -phong = Int(SL11 / 24) + trang = For j = To phong Set XlSht = xlTmp.Sheets(j) XlSht.Cells(3, 8) = Text2.Text + j - ' So phong -For i = To 24 XlSht.Cells(i + 5, 3) = MangHS(i + trang).HoTen XlSht.Cells(i + 5, 4) = MangHS(i + trang).Lop Next trang = trang + i - Next ' Ghi 10 -phong = Int(SL10 / 24) + trang = For j = To phong Set XlSht = xlTmp.Sheets(j) For i = To 24 XlSht.Cells(i + 5, 9) = MangHS10(i + trang).HoTen XlSht.Cells(i + 5, 10) = MangHS10(i + trang).Lop Next trang = trang + i - Next xlTmp.Visible = True skkn Trang 'xlTmp.Workbooks.Close 'xlTmp.Quit End Sub … 3.3 Khả áp dụng giải pháp: Với giải pháp áp dụng thành công với hầu hết đợt thi trường năm qua 3.4 Hiệu thu áp dụng giải pháp: Sau thực giải pháp “Dùng Visual Basic để xây dựng chương trình in danh sách học sinh kì thi” tơi nhận thấy đạt số kết sau: + Giúp phận văn phòng sử dụng triệt để công nghệ thông tin vào công việc cách tự động hoá + Do sử dụng danh sách học sinh mạng Vnedu khơng cịn thao tác thủ cơng nên tất danh sách phịng thi đợt thi khơng cịn sai sót như: Dư thiếu học sinh hay tên học sinh nghỉ học từ lâu + Giúp phận văn phịng tiết kiệm nhiều thời gian cơng sức để tăng suất hiệu công việc 3.5 Những người tham gia tổ chức áp dụng sáng kiến lần đầu: Giáo viên dạy môn Tin học giáo viên làm cơng tác văn phịng 3.6 Tài liệu tham khảo: - Thơng tin danh sách phịng thi phận văn phịng - Ngơn ngữ lập trình Visual Basic mạng Internet Bến Tre, ngày 10 tháng 03 năm 2018 skkn Trang ... dụng danh sách học sinh đầu năm nên sau lập danh sách thi tên vài học sinh bỏ học từ lâu + Văn phòng chưa sử dụng danh sách Vnedu (đã cập nhật số học sinh nghỉ học thường xuyên) để lập danh sách. .. trình in danh sách học sinh kì thi? ?? Giải pháp nhằm xây dựng chương trình cần lấy danh sách học sinh Vnedu sau nhấn vào nút “Lập danh sách? ?? chương trình tự động lập danh sách phòng thi xuất dạng Excel... 10”, “Khoi 11” chương trình tự động lấy liệu thư mục để lập danh sách phòng thi + Chương trình loại bỏ học sinh nghỉ học nên khơng cịn trường hợp danh sách phịng thi có học sinh nghỉ học + Khơng