Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Trung học phổ thông Skkn dùng visual basic để xây dựng chương trình in danh sách học sinh trong các ...

Tài liệu Skkn dùng visual basic để xây dựng chương trình in danh sách học sinh trong các kì thi

.PDF
9
118
57

Mô tả:

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 trong các kì thi. (@THPT Huỳnh Tấn Phát. Trần Minh Trí. Huỳnh Nhã Trân. Lê Thị Tuyết Loan) 2. Lĩnh vực áp dụng sáng kiến: Chuyên môn – môn Tin học 3. Mô tả bản chất của sáng kiến: 3.1. Tình trạng giải pháp đã biết: Tin học là một công cụ quan trọng phục vụ con người hiện đại, thành thạo kỹ năng tin học giúp chúng ta tiết kiệm thời gian và công sức. Chỉ với những thao tác nhanh chóng trên máy tính, con người có thể hoàn thành tốt những vấn đề liên quan đến văn bản, bảng tính toán, danh sách học sinh,… Tin học còn làm tăng năng suất và hiệu quả trong công việc và học tập. Có kỹ năng tin học vững vàng, cá nhân có khả năng xử lý công việc chuyên nghiệp, góp phần giúp nhà trường được vận hành trôi chảy ở mọi khâu. Ở trường tôi hằng năm phải thực hiện tổ chức các đợt thi, công việc ở văn phòng thường xuyên thành lập danh sách cho các phòng thi. Nhằm nâng cao chất lượng học tập của học sinh, nhà trường cho học sinh khối 10, khối 11 ngồi xen kẽ với nhau trong cùng một phòng thi. Danh sách phòng thi có dạng như sau: Trang 1 Để thực hiện được danh sách như trên bộ phận văn phòng gặp phải những hạn chế như sau: + Còn sử dụng các thao tác đơn giản như cắt và dán, chưa ứng dụng triệt để công nghệ thông tin vào công việc một cách tự động hoá. + Thao tác cắt, dán được lặp đi lặp lại nhiều lần dễ gây nhằm lẫn dẫn đến có thể xẩy ra một 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 khi lập danh sách thi vẫn còn tên một vài học sinh đã bỏ học từ lâu. + Văn phòng chưa sử dụng danh sách trên 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 được thời gian và công sức để tăng năng suất và hiệu quả trong công việc. Chính từ những hạn chế đó, bản thân tôi đã nghiên cứu và xây dựng một giải pháp mới có tên là: “Dùng Visual Basic để xây dựng chương trình in danh sách học sinh trong các kì thi”. Giải pháp này nhằm xây dựng chương trình chỉ cần lấy danh sách học sinh trên Vnedu sau đó nhấn vào nút “Lập danh sách” thì chương trình tự động lập danh sách từng phòng thi xuất ra dưới dạng Excel (mỗi phòng thi là một Sheet). Chương trình này còn có những chức năng ưu việt khắc phục những hạn chế trên như sau: Trang 2 + Tiết kiệm được thời gian và công sức để tăng năng suất và hiệu quả trong công việc. + Chỉ cần lấy danh sách học sinh trên Vnedu rồi chép vào 2 thư mục “Khoi 10”, “Khoi 11” thì chương trình tự động lấy dữ liệu trong 2 thư mục này để lập danh sách phòng thi. + Chương trình đã loại bỏ những 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 và sai sót. + Việc lập danh sách phòng thi một cách tự động, ứng dụng triệt để công nghệ thông tin vào công việc trong nhà trường. Trang 3 3.2. Nội dung giải pháp đề nghị công nhận là sáng kiến: 3.2.1. Mục đích của giải pháp: - Khi thực hiện giải pháp này sẽ tạo cho công tác văn phòng lập danh sách phòng thi một cách nhanh chóng, hiệu quả hơn. - Ứng dụng giải pháp này sẽ giúp công việc thực hiện một cách tự động, tiến hành một cách chính 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 mới. 3.2.2. Điểm mới của giải pháp: Chương trình này có những chức năng ưu việt giúp ích trong công tác văn phòng: + Tiết kiệm được thời gian và công sức để tăng năng suất và hiệu quả trong công việc. + Chỉ cần lấy danh sách học sinh trên Vnedu rồi chép vào 2 thư mục “Khoi 10”, “Khoi 11” thì chương trình tự động lấy dữ liệu trong 2 thư mục này để lập danh sách phòng thi. + Chương trình đã loại bỏ những 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 và sai sót. + Việc lập danh sách phòng thi một cách tự động, ứng dụng triệt để công nghệ thông tin vào công việc trong nhà trường. 3.2.3. Bản chất của giải pháp: - Với giải pháp này 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 ở các đợt thi của học sinh trong nhà trường. - Để lập danh sách phòng thi ta thực hiện các bước như sau:  Bước 1: Lấy tất cả danh sách học sinh khối 10, khối 11 trên mạng Vnedu rồi sao chép vào 2 thư mục “Khoi 10”, “Khoi 11” Trang 4  Bước 2: Chạy chương trình bằng cách nháy đúp “CT Xep phong thi.exe” ta được giao diện chương trình như sau: (Giao diện chương trình)  Bước 2: Ta xem đủ danh sách các lớp hay không và có trường hợp số phòng thi không phải bắt đầu bằng 1 (Phòng thi số 5, Phòng thi số 6,…) thì ta sửa lại cho phù hợp.  Bước 3: Cuối cùng ta nháy vào nút: Trang 5 Sau khi nháy vào nút “Lập danh sách” ta được kết quả với mỗi Sheet là một phòng thi như sau: - Để làm được chương trình có giao diện và đạt được kết quả như trên tôi sử dụng ngôn ngữ lập trình Visual Basic xây dựng các thủ tục hỗ trợ giải quyết các công việc hoàn thiện giải pháp. Một vài thủ tục như sau: Thủ tục lấy các tập tin danh sách các lớp trong 2 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 6 List2.Clear While Len(F) List2.AddItem F F = Dir$ Wend End Sub Thủ tục lấy danh sách học sinh các lớp đưa vào một mảng để sắp xếp, xử lí rồi ghi ra 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 = 0 To N - 1 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 = 0 To N - 1 FileName = App.Path & "\Khoi11\" & List2.List(j) SheetName = "Sheet1" Trang 7 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 quả ra 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) + 1 trang = 0 For j = 1 To phong Set XlSht = xlTmp.Sheets(j) XlSht.Cells(3, 8) = Text2.Text + j - 1 '-------- So phong ----------For i = 1 To 24 XlSht.Cells(i + 5, 3) = MangHS(i + trang).HoTen XlSht.Cells(i + 5, 4) = MangHS(i + trang).Lop Next trang = trang + i - 1 Next '---------- Ghi 10---phong = Int(SL10 / 24) + 1 trang = 0 For j = 1 To phong Set XlSht = xlTmp.Sheets(j) For i = 1 To 24 XlSht.Cells(i + 5, 9) = MangHS10(i + trang).HoTen XlSht.Cells(i + 5, 10) = MangHS10(i + trang).Lop Next trang = trang + i - 1 Next xlTmp.Visible = True Trang 8 'xlTmp.Workbooks.Close 'xlTmp.Quit End Sub … 3.3. Khả năng áp dụng của giải pháp: Với giải pháp này tôi đã áp dụng thành công với hầu hết các đợt thi của trường trong các năm qua. 3.4. Hiệu quả thu được do áp dụng giải pháp: Sau khi thực hiện giải pháp “Dùng Visual Basic để xây dựng chương trình in danh sách học sinh trong các kì thi” tôi nhận thấy đạt được một số kết quả sau: + Giúp bộ phận văn phòng sử dụng triệt để công nghệ thông tin vào công việc một cách tự động hoá. + Do sử dụng danh sách học sinh trên mạng Vnedu và không còn các thao tác thủ công nên tất cả danh sách phòng thi trong các đợt thi không còn sai sót như: Dư hoặc thiếu học sinh hay còn tên những học sinh đã nghỉ học từ lâu. + Giúp bộ phận văn phòng tiết kiệm được rất nhiều thời gian và công sức để tăng năng suất và hiệu quả trong 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 và 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 và danh sách phòng thi ở bộ phận văn phòng. - Ngôn ngữ lập trình Visual Basic trên mạng Internet. Bến Tre, ngày 10 tháng 03 năm 2018 Trang 9
- Xem thêm -

Tài liệu liên quan