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.. 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ữn
Trang 1CỘ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
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 2download by : skknchat@gmail.com
Trang 3Để 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ông nghệ thông tin vào công việc một cách tự động hoá
thể xẩy ra một vài sai sót
danh sách thi vẫn còn tên một vài học sinh đã bỏ học từ lâu
đã nghỉ học thường xuyên) để lập danh sách phòng thi
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
Trang 4+ 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
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
trường hợp danh sách phòng thi có học sinh đã nghỉ học
sót
nghệ thông tin vào công việc trong nhà trường
Trang 3
Trang 5download by : skknchat@gmail.com
Trang 63.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:
phòng thi một cách nhanh chóng, hiệu quả hơn
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:
công việc
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
trường hợp danh sách phòng thi có học sinh đã nghỉ học
sót
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:
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
Vnedu rồi sao chép vào 2 thư mục “Khoi 10”, “Khoi 11”
Trang 4
Trang 7download by : skknchat@gmail.com
Trang 8 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)
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
Trang 5 download by : skknchat@gmail.com
Trang 9Sau 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:
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”:
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 10Trang 6 download by : skknchat@gmail.com
Trang 11While Len(F)
List2.AddItem F
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:
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
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
Trang 12RangeAddress = "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 download by : skknchat@gmail.com
Trang 13'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:
việc một cách tự động hoá
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
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:
Bến Tre, ngày 10 tháng 03 năm 2018
Trang 14download by : skknchat@gmail.com