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 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 xuyên 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: 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 hố + 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 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ó chức ưu việt khắc phục hạn chế sau: + 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 trường hợp danh sách phòng thi có học sinh nghỉ học + Khơng 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 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 trường hợp danh sách phòng thi có học sinh nghỉ học + Khơng 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” 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: 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 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") 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" 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 'xlTmp.Workbooks.Close Trang '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 hố + Do sử dụng danh sách học sinh mạng Vnedu khơng thao tác thủ cơng nên tất danh sách phòng thi đợt thi khơng 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 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 trường hợp danh sách phòng thi có học sinh nghỉ học + Khơng thao