Giới thiệu dự án

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ và trở thành công cụ cốt lõi trong giáo dục hiện đại, bộ phần mềm văn phòng Microsoft Office với hơn 1 tỷ người dùng toàn cầu đã chứng minh vai trò không thể thay thế trong việc quản lý và xử lý dữ liệu. Tuy nhiên, tại nhiều cơ sở đào tạo, phần lớn người dùng chỉ khai thác các tính năng tính toán cơ bản của Microsoft Excel mà chưa tận dụng tối đa môi trường lập trình tích hợp Visual Basic for Applications (VBA).

Phương thức tổ chức kiểm tra, đánh giá truyền thống thông qua hình thức thi viết trên giấy bộc lộ nhiều hạn chế nghiêm trọng:

  • Tốn kém chi phí in ấn đề thi, phiếu trả lời và tiêu hao nguồn lực vật chất.
  • Tốn nhân lực coi thi và chấm thi, đặc biệt khi số lượng học viên dự thi cùng thời điểm lên tới hàng trăm, hàng nghìn người.
  • Rủi ro sai sót chủ quan trong khâu chấm điểm, ghép phách, vào điểm do yếu tố tâm lý và mệt mỏi của giám khảo.
  • Nguy cơ lộ lọt đề thi và gian lận (quay cóp, học tủ, học vẹt, trao đổi bài) khi các thí sinh ngồi cạnh nhau có chung mã đề thi.

Đồ án khóa luận "Lập trình VBA trong Excel để hỗ trợ tổ chức thi trắc nghiệm" giải quyết triệt để các bài toán trên bằng cách xây dựng một hệ thống phần mềm thi trắc nghiệm khách quan tự động hóa hoàn toàn trên nền tảng Microsoft Excel.

Mục tiêu cụ thể của dự án:

  1. Nghiên cứu toàn diện cơ chế hoạt động của ngôn ngữ VBA, mô hình đối tượng (Object Model) và giao diện lập trình tích hợp (VBA IDE) trong Microsoft Excel.
  2. Xây dựng cấu trúc cơ sở dữ liệu bảng tính lưu trữ ngân hàng câu hỏi (quy mô từ 200 câu hỏi trở lên cho mỗi học phần).
  3. Lập trình thuật toán rút ngẫu nhiên câu hỏi để tạo đề thi độc bản cho từng thí sinh, ngăn chặn hiện tượng xem bài trong phòng thi.
  4. Tự động hóa quá trình chấm điểm tức thì ngay sau khi nộp bài, bảo mật đáp án và tự động tổng hợp kết quả về máy chủ qua mạng cục bộ (LAN).

Hệ thống mang lại khả năng rút ngắn thời gian chấm thi xuống dưới 0,1 giây/bài, loại bỏ 100% sai sót chấm điểm thủ công, giảm 90% chi phí giấy mực và tối ưu hóa quy trình tổ chức thi học phần trong các trường đại học và cơ sở đào tạo nghề. Phạm vi đồ án tập trung vào môi trường mạng cục bộ LAN, chạy trên nền tảng Microsoft Office 2003 đến Office 2013 trên hệ điều hành Microsoft Windows XP/7/8.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát các giải pháp khảo thí hiện nay cho thấy sự phân hóa rõ rệt giữa phương pháp truyền thống và các hệ thống công nghệ thông tin chuyên dụng:

Tiêu chí so sánh Thi trắc nghiệm trên giấy Phần mềm chuyên dụng (Client-Server C#/Web) Giải pháp Excel VBA (Đồ án)
Chi phí đầu tư Thấp ban đầu, tốn kém chi phí in ấn thường xuyên Rất cao (chi phí máy chủ, bản quyền phần mềm, bảo trì) Bằng 0 (tận dụng sẵn Microsoft Office có sẵn)
Thời gian chấm thi Vài ngày đến vài tuần (chấm tay/quét OMR) Tức thì (ngay sau khi bấm nộp bài) Tức thì (< 0,1 giây sau khi bấm nộp)
Độ phức tạp triển khai Phức tạp trong khâu in sao, bảo mật đề Cần cài đặt Web Server, DBMS (SQL Server, MySQL) Cực kỳ đơn giản: chạy trực tiếp file .xls qua mạng LAN
Tính khách quan Dễ chịu tác động chủ quan của người chấm Tuyệt đối khách quan Tuyệt đối khách quan theo thuật toán logic
Yêu cầu hạ tầng Bàn ghế, phòng thi, giấy thi Hạ tầng mạng Internet/Server cấu hình cao Phòng máy tính chuẩn LAN, cấu hình cơ bản

Xác định yêu cầu người dùng theo mô hình MoSCoW:

  • Must have (Bắt buộc có): Giao diện đăng nhập nhận diện thí sinh; rút ngẫu nhiên câu hỏi từ ngân hàng; khóa hiển thị đáp án trong lúc làm bài; tự động chấm điểm và xuất kết quả.
  • Should have (Nên có): Điều hướng linh hoạt giữa các câu hỏi (Next/Previous); cơ chế ẩn thanh công cụ Ribbon/Menu và khóa chuyển Sheet để chống gian lận; tự động lưu kết quả vào file máy chủ.
  • Could have (Có thể có): Hộp thoại cảnh báo thời gian nộp bài; khả năng tùy chỉnh số lượng câu hỏi lấy ngẫu nhiên theo cấu hình môn thi.
  • Won't have (Chưa hỗ trợ): Xáo trộn thứ tự các đáp án trong cùng một câu hỏi; giám sát bằng webcam qua mạng Internet.

Thiết kế hệ thống

Kiến trúc hệ thống được xây dựng trên mô hình chia sẻ tài nguyên mạng cục bộ (LAN File-Share Architecture) giữa máy chủ (Server/Master Node) và các máy trạm (Client/Workstation Nodes).

+-----------------------------------------------------------------------+
|                              MÁY CHỦ (SERVER)                         |
|   - Lưu trữ File Gốc: NganHangDeThi.xls (200+ câu hỏi)                |
|   - Tiếp nhận & Ghi dữ liệu: TongHopKetQua.xls                        |
+-----------------------------------+-----------------------------------+
                                    | (Mạng LAN - Cáp nội bộ)
     +------------------------------+------------------------------+
     |                                                             |
     v                                                             v
+------------------------------------+   +------------------------------------+
|       MÁY TRẠM 01 (CLIENT)         |   |       MÁY TRẠM N (CLIENT)          |
| - Sheet: DangNhap (Form nhập SBD)  |   | - Sheet: DangNhap (Form nhập SBD)  |
| - Sheet: BaiLam (Giao diện thi)    |   | - Sheet: BaiLam (Giao diện thi)    |
| - Sheet: DeThi (Ẩn - Random từ gốc)|   | - Sheet: DeThi (Ẩn - Random từ gốc)|
| - Sheet: KetQuaThi (Hiện sau nộp)  |   | - Sheet: KetQuaThi (Hiện sau nộp)  |
+------------------------------------+   +------------------------------------+

Technology Stack chi tiết:

  • Hệ điều hành: Microsoft Windows XP SP3, Windows 7 Professional, Windows 8 (x86/x64).
  • Môi trường ứng dụng nền: Microsoft Excel 2003 / 2010 / 2013 (Định dạng Workbook nhị phân .xls.xlsm).
  • Ngôn ngữ lập trình: Visual Basic for Applications (VBA 6.5 / VBA 7.0 Engine).
  • Giao thức kết nối: NetBIOS / SMB qua mạng Local Area Network (LAN 100/1000 Mbps).

Thiết kế cấu trúc cơ sở dữ liệu trên các Worksheet:

  1. Sheet DangNhap: Tiếp nhận thông tin HoTen (String), MaSinhVien (String), Lop (String), SoBaoDanh (Integer) qua giao diện Form điều khiển.
  2. Sheet NganHangCauHoi (Tên theo môn học, ví dụ TinHocCoSo1): Cấu trúc bảng gồm 256 cột x 65,536 dòng (chuẩn Excel 2003). Các trường dữ liệu chính: STT (Long), NoiDungCauHoi (String), DapAnA (String), DapAnB (String), DapAnC (String), DapAnD (String), DapAnDung (String: A/B/C/D).
  3. Sheet DeThi: Chứa tập con các câu hỏi (ví dụ 20 câu) được trích xuất ngẫu nhiên từ ngân hàng câu hỏi.
  4. Sheet BaiLam: Giao diện tương tác duy nhất của thí sinh trong thời gian làm bài, gồm cột hiển thị nội dung câu hỏi, các phương án lựa chọn và cột ghi nhận lựa chọn TraLoi (Variant). Toàn bộ đáp án đúng và cột chỉ số câu hỏi bị ẩn tuyệt đối.
  5. Sheet KetQuaThi: Tự động hiển thị tổng điểm, số câu đúng/sai sau khi thí sinh nhấn nút nộp bài và khóa toàn bộ thao tác chỉnh sửa.

Thiết lập an ninh hệ thống:

  • Cấu hình Macro Security Level về mức LOW hoặc MEDIUM với Trusted Locations (Tools > Macro > Security...) để đảm bảo các đoạn mã tự động hóa khởi thi mượt mà.
  • Thiết lập cơ chế ẩn toàn diện thanh công cụ (Toolbars), thanh Menu (MenuBar), thanh công thức (Formula Bar) và các Sheet hệ thống, chỉ kích hoạt hiển thị duy nhất Sheet bài làm trong suốt thời gian diễn ra bài kiểm tra.

Methodology

Quy trình phát triển hệ thống áp dụng mô hình Thác nước kết hợp Lặp (Iterative Waterfall Model):

  • Giai đoạn 1 (Tuần 1 - 2): Khảo sát nghiệp vụ khảo thí, phân tích cú pháp ngôn ngữ VBA và mô hình đối tượng Excel (Application, Workbook, Worksheet, Range).
  • Giai đoạn 2 (Tuần 3 - 5): Thiết kế cấu trúc cơ sở dữ liệu bảng tính, xây dựng giao diện UserForm đăng nhập và form điều hướng bài thi.
  • Giai đoạn 3 (Tuần 6 - 8): Lập trình các Module nghiệp vụ (Module sinh đề ngẫu nhiên, Module kiểm tra đáp án, Module ghi nhận kết quả và bảo mật giao diện).
  • Giai đoạn 4 (Tuần 9 - 10): Kiểm thử hộp trắng/hộp đen, đánh giá rủi ro mạng LAN và nghiệm thu triển khai thực tế.

Chiến lược giảm thiểu rủi ro kỹ thuật:

  • Rủi ro rớt mạng LAN: Ghi nhận tạm thời kết quả vào biến mảng bộ nhớ (Memory Array) và lưu cục bộ trên máy trạm trước khi gửi file tổng kết về máy chủ.
  • Rủi ro gian lận thoát phần mềm: Vô hiệu hóa các phím tắt hệ thống và bắt sự kiện Workbook_BeforeClose để ngăn thí sinh tắt ứng dụng trước khi nộp bài.

Implementation và kết quả

Development process

Cấu trúc mã nguồn được phân bổ khoa học vào các Module chuẩn (Standard Module), UserForm và mã xử lý sự kiện của từng Worksheet:

  • Module_Init: Khởi tạo môi trường, ẩn thanh công cụ, khóa bảng tính.
  • Module_RandomExam: Thuật toán sinh đề thi ngẫu nhiên từ ngân hàng.
  • Module_Grading: Thuật toán so khớp chuỗi đáp án, tính toán điểm số và tổng hợp kết quả.
  • Module_Security: Quản lý hiển thị Sheet và bảo mật chống can thiệp.

Áp dụng quy tắc lập trình nghiêm ngặt với khai báo tường minh Option Explicit tại phần Declarations của tất cả các Module, đảm bảo kiểm soát chặt chẽ các kiểu dữ liệu (Byte, Integer, Long, Single, Double, String, Boolean, Variant).

Trích dẫn các giải thuật cốt lõi được xây dựng trong hệ thống:

Option Explicit

' Thuật toán kiểm tra và trích xuất vùng ô sử dụng Application.InputBox
Public Sub VD_Input()
    Dim Dangmang As Range
    Dim Cot As Long, Hang As Long
    
    On Error Resume Next
    ' Gọi phương thức InputBox với Type:=8 để nhận tham chiếu vùng Range
    Set Dangmang = Application.InputBox(Prompt:="Vao mang du lieu cau hoi:", _
                                        Title:="Chon vung ngan hang de", _
                                        Type:=8)
    On Error GoTo 0
    
    If Not Dangmang Is Nothing Then
        Cot = Dangmang.Columns.Count   ' Tinh so cot duoc chon
        Hang = Dangmang.Rows.Count      ' Tinh so hang duoc chon
        
        MsgBox "So cot la: " & Cot, vbInformation, "Thong tin cau truc"
        MsgBox "So hang la: " & Hang, vbInformation, "Thong tin cau truc"
        MsgBox "Dia chi o dau la: " & Dangmang.Cells(1, 1).Address, vbOKOnly
        MsgBox "Dia chi o cuoi la: " & Dangmang.Cells(Hang, Cot).Address, vbOKOnly
    End If
End Sub

' Giải thuật tự động chấm điểm và tổng hợp kết quả bài thi
Public Sub ChamDiemThi()
    Dim wsBaiLam As Worksheet, wsDeThi As Worksheet, wsKetQua As Worksheet
    Dim i As Long, SoCauHoi As Long, SoCauDung As Long
    Dim TraLoi As String, DapAnDung As String
    Dim DiemSo As Double
    Dim XacNhan As Integer
    
    ' Hộp thoại xác nhận nộp bài sử dụng kết hợp hằng số MsgBox
    XacNhan = MsgBox("Ban co chac chan muon nop bai?", _
                     vbOKCancel + vbQuestion + vbDefaultButton2, _
                     "Thong bao nop bai")
                     
    If XacNhan = vbCancel Then Exit Sub
    
    Set wsBaiLam = ThisWorkbook.Worksheets("BaiLam")
    Set wsDeThi = ThisWorkbook.Worksheets("DeThi")
    Set wsKetQua = ThisWorkbook.Worksheets("KetQuaThi")
    
    SoCauHoi = 20 ' Quy mô đề thi chuẩn gồm 20 câu hỏi
    SoCauDung = 0
    
    ' Vòng lặp duyệt tuần tự đối soát câu trả lời của thí sinh với đáp án gốc
    For i = 1 To SoCauHoi
        TraLoi = Trim(UCase(wsBaiLam.Range("C" & (i + 2)).Value))
        DapAnDung = Trim(UCase(wsDeThi.Range("G" & (i + 2)).Value))
        
        ' Cấu trúc rẽ nhánh kiểm tra tính đúng đắn
        If TraLoi = DapAnDung And TraLoi <> "" Then
            SoCauDung = SoCauDung + 1
        End If
    Next i
    
    ' Tính toán điểm theo thang điểm 10 chuẩn
    DiemSo = (SoCauDung / SoCauHoi) * 10#
    
    ' Ghi kết quả sang Sheet KetQuaThi
    wsKetQua.Range("C4").Value = SoCauDung
    wsKetQua.Range("C5").Value = (SoCauHoi - SoCauDung)
    wsKetQua.Range("C6").Value = DiemSo
    
    ' Thiết lập trạng thái hiển thị bảo mật: Ẩn BaiLam, mở KetQuaThi
    wsBaiLam.Visible = xlSheetVeryHidden
    wsDeThi.Visible = xlSheetVeryHidden
    wsKetQua.Visible = xlSheetVisible
    wsKetQua.Activate
    
    MsgBox "Nop bai thanh cong! Diem so cua ban la: " & DiemSo, vbInformation, "Ket qua thi"
End Sub

Testing và validation

Quá trình kiểm thử được tiến hành trên hệ thống phòng máy gồm 1 Server và 40 máy trạm Client nối mạng LAN:

  • Kiểm thử thuật toán sinh đề ngẫu nhiên: Tiến hành rút thử nghiệm 1,000 lượt từ ngân hàng 200 câu hỏi. Kết quả kiểm định xác suất cho thấy độ phủ câu hỏi đạt 100%, tỷ lệ trùng lặp nguyên đề giữa 2 máy liền kề bằng 0%.
  • Kiểm thử tải chấm điểm (Performance Benchmark):
    • Thời gian xử lý chấm điểm 20 câu hỏi: 0.045 giây.
    • Thời gian xử lý chấm điểm 50 câu hỏi: 0.082 giây.
    • Độ trễ ghi dữ liệu tổng hợp về máy chủ qua giao thức mạng LAN: < 0.35 giây.
  • Kiểm thử phát hiện và xử lý lỗi (Bug Tracking):
    • Đã xử lý triệt để lỗi ép kiểu khi thí sinh nhập ký tự đặc biệt hoặc để trống câu trả lời nhờ các hàm chuyển đổi CStr, CInt và hàm bẫy lỗi On Error Resume Next.
    • Giải quyết xung đột ghi đè đồng thời vào file tổng kết bằng cơ chế xếp hàng tệp nhị phân (File Locking Queue).

Kết quả đạt được

Hệ thống đã hoàn thành 100% các tính năng kỹ thuật đặt ra ban đầu:

Hạng mục chức năng Trạng thái kế hoạch Kết quả thực tế Độ chính xác / Hiệu năng
Giao diện đăng nhập thí sinh Bắt buộc Hoàn thành Xác thực chính xác SBD, Mã SV
Rút đề ngẫu nhiên từ ngân hàng Bắt buộc Hoàn thành Rút 20 câu ngẫu nhiên / 200 câu trong 0.05s
Khóa giao diện & Ẩn đáp án Bắt buộc Hoàn thành Bảo mật tuyệt đối 100% cấu trúc đáp án
Tự động chấm & Tổng hợp điểm Bắt buộc Hoàn thành Điểm tính chính xác tuyệt đối, thời gian < 0.1s
Đồng bộ dữ liệu mạng LAN Mở rộng Hoàn thành Kết nối thông suốt 40 máy trạm cùng lúc

Đổi mới và đóng góp

Nghiên cứu mang lại những cải tiến kỹ thuật nổi bật trong lĩnh vực ứng dụng tin học văn phòng vào giáo dục:

  • Khai thác triệt để sức mạnh tiềm ẩn của VBA trong Microsoft Office: Thay vì chỉ xem Excel là bảng tính thụ động, đề tài đã biến Excel thành một ứng dụng khảo thí độc lập có tính năng động, tương tác cao thông qua các điều khiển đồ họa (CommandButton, OptionButton, TextBox) và hộp thoại (MsgBox, InputBox).
  • Triển khai với chi phí bản quyền và hạ tầng bằng 0: Khác với các hệ thống phần mềm khảo thí viết bằng C# .NET hay Web Server đòi hỏi cài đặt môi trường phức tạp (IIS, Apache, SQL Server), giải pháp này chạy trực tiếp trên nền Microsoft Office có sẵn ở mọi máy tính trường học.
  • Loại bỏ hoàn toàn gian lận thi cử: Nhờ cơ chế sinh đề thi ngẫu nhiên cho từng máy kết hợp với việc ẩn hoàn toàn mã nguồn và thuộc tính Sheet (xlSheetVeryHidden), thí sinh không thể copy bài hoặc can thiệp sửa đổi đáp án.
  • Nâng cao hiệu suất tổ chức thi vượt bậc: Giảm 100% thời gian chờ đợi nhận kết quả, rút ngắn 85% nhân lực giám sát và thư ký ghép phách, nâng cao tính công bằng và minh bạch trong nhà trường.

Ứng dụng thực tế và triển khai

Kịch bản triển khai thực tế

Hệ thống được thiết kế tối ưu cho các mô hình khảo thí:

  1. Kiểm tra định kỳ và thi hết học phần: Ứng dụng cho các môn khoa học tự nhiên, khoa học xã hội, đặc biệt là các học phần Tin học cơ sở, Tin học đại cương tại Đại học Hòa Bình và các cơ sở giáo dục đại học.
  2. Khảo sát đánh giá năng lực nội bộ: Áp dụng trong doanh nghiệp để kiểm tra trình độ nghiệp vụ, quy trình vận hành của nhân viên.
                    QUY TRÌNH VẬN HÀNH PHÒNG THI MẠNG LAN
                    
  [Cán bộ khảo thí] ──> Soạn ngân hàng đề vào NganHangCauHoi.xls trên Server
                                    │
  [Giờ thi]         ──> Share thư mục đề thi qua mạng LAN (Read-Only)
                                    │
  [Thí sinh]        ──> Mở file tại máy trạm ──> Nhập SBD ──> Bấm "Bắt đầu"
                                    │
  [Hệ thống]        ──> Rút ngẫu nhiên 20 câu ──> Hiển thị duy nhất Sheet BaiLam
                                    │
  [Làm bài]         ──> Chọn đáp án A, B, C, D ──> Bấm "Nộp bài"
                                    │
  [Tự động]         ──> Chấm điểm tức thì ──> Ghi kết quả vào TongHopKetQua.xls
                                    │
  [Kết thúc]        ──> Cán bộ đóng quyền Share ──> Xuất bảng điểm tổng kết

Yêu cầu triển khai hệ thống:

  • Phần cứng: Phòng máy tính trang bị switch mạng LAN 100 Mbps trở lên; máy tính trạm cấu hình tối thiểu RAM 512 MB, CPU Pentium 4 trở lên; cổng USB và kết nối Internet được ngắt bỏ hoàn toàn trong giờ thi.
  • Phần mềm: Cài đặt hệ điều hành Windows XP/7/8; bộ Microsoft Office 2003/2007/2010/2013; cấu hình Macro Security về mức chấp thuận thực thi mã nguồn nội bộ.

Hạn chế và hướng phát triển

Bên cạnh những kết quả đạt được, đề tài còn tồn tại một số hạn chế kỹ thuật cần được khắc phục trong các phiên bản tiếp theo:

  • Giới hạn định dạng file cũ: Phiên bản phát triển trên Excel 2003 (.xls) giới hạn kích thước bảng tính ở mức 256 cột x 65,536 dòng và giao diện thanh công cụ cổ điển.
  • Xử lý đồng thời trên tệp chia sẻ: Khi số lượng máy trạm vượt quá 100 máy cùng ghi vào một file tổng kết qua mạng LAN, có thể phát sinh độ trễ hàng đợi (I/O Bottleneck).
  • Hỗ trợ định dạng câu hỏi: Chưa tích hợp chức năng hiển thị hình ảnh minh họa phức tạp hoặc các đoạn công thức toán học chuyên sâu trong nội dung câu hỏi trắc nghiệm.

Hướng phát triển nâng cao:

  1. Nâng cấp toàn diện mã nguồn VBA lên chuẩn Ribbon XML của Microsoft Excel 2013 / 2016 / 2019 / Office 365, hỗ trợ định dạng tệp macro hiện đại .xlsm.
  2. Tích hợp kết nối cơ sở dữ liệu Microsoft Access hoặc SQLite thông qua ADODB (ActiveX Data Objects) để tối ưu hóa khả năng ghi nhận dữ liệu đồng thời của hàng trăm máy trạm.
  3. Bổ sung thuật toán xáo trộn ngẫu nhiên cả 4 phương án A, B, C, D trong từng câu hỏi (Random Permutation Algorithm) để tăng cường tính bảo mật.

Đối tượng hưởng lợi

  • Sinh viên và học viên: Tiếp cận phương thức thi hiện đại, minh bạch, biết ngay kết quả sau khi thi, loại bỏ hoàn toàn tâm lý lo lắng về sự sai lệch trong quá trình chấm điểm thủ công.
  • Giảng viên và cán bộ khảo thí: Tiết kiệm hàng trăm giờ làm việc trong khâu in ấn, coi thi, rọc phách, chấm bài và lập bảng tổng hợp điểm thi; dễ dàng quản lý và cập nhật ngân hàng câu hỏi.
  • Nhà trường và cơ sở đào tạo: Tiết kiệm hàng chục triệu đồng chi phí văn phòng phẩm mỗi kỳ thi; hiện đại hóa cơ sở hạ tầng giáo dục mà không cần đầu tư các gói phần mềm đắt đỏ.
  • Lập trình viên và người nghiên cứu VBA: Cung cấp tài liệu tham khảo thực tiễn chuyên sâu về lập trình ứng dụng VBA, kỹ thuật điều khiển đối tượng bảng tính và giải pháp kiến trúc mạng LAN không cần hệ quản trị cơ sở dữ liệu trung gian.

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để triển khai phần mềm là gì?

Phần mềm yêu cầu máy tính chạy hệ điều hành Microsoft Windows XP trở lên, cài đặt Microsoft Office 2003 trở lên (khuyên dùng Office 2003 hoặc Office 2010), có kết nối mạng nội bộ LAN và đã kích hoạt tính năng chạy Macro (Macro Security Level: Low/Medium).

2. Làm thế nào để ngăn chặn thí sinh mở các Sheet chứa đáp án để gian lận?

Hệ thống sử dụng thuộc tính Visible = xlSheetVeryHidden trong VBA cho các Sheet NganHangCauHoiDeThi. Với thuộc tính này, thí sinh không thể sử dụng lệnh Unhide thông thường trong Excel để xem bảng tính, đồng thời toàn bộ giao diện VBA IDE được bảo vệ bằng mật khẩu quản trị (VBA Project Password).

3. Nếu mạng LAN gặp sự cố trong lúc thí sinh đang làm bài thì xử lý như thế nào?

Bài làm của thí sinh được lưu trữ trực tiếp trên bộ nhớ tiến trình Excel của máy trạm. Khi xảy ra sự cố mạng, thí sinh vẫn tiếp tục làm bài bình thường. Cán bộ giám khảo chỉ cần khôi phục kết nối mạng trước khi thí sinh bấm nút nộp bài, hoặc lưu file bài làm cục bộ để import thủ công vào máy chủ.

4. Hệ thống có khả năng mở rộng cho bao nhiêu thí sinh dự thi đồng thời?

Với mô hình chia sẻ tệp Excel qua mạng LAN chuẩn 100 Mbps, hệ thống vận hành mượt mà cho các phòng máy từ 30 đến 50 máy trạm. Để mở rộng lên quy mô toàn trường (trên 100 máy), hệ thống cần được nâng cấp module ghi điểm sang cơ sở dữ liệu trung gian Access/SQL qua kết nối ADODB.

5. Chi phí triển khai và bảo trì phần mềm được tính toán ra sao?

Chi phí phần mềm hoàn toàn bằng 0 VNĐ do tận dụng hạ tầng phòng máy và bản quyền Microsoft Office có sẵn của nhà trường. Thời gian hoàn vốn đầu tư (ROI) đạt được ngay trong kỳ thi đầu tiên nhờ cắt giảm toàn bộ chi phí in ấn giấy thi và chi phí bồi dưỡng cán bộ chấm thi.


Kết luận

Đồ án "Lập trình VBA trong Excel để hỗ trợ tổ chức thi trắc nghiệm" của sinh viên Nguyễn Minh Đạt (Khoa Công nghệ, Đại học Hòa Bình) đã chứng minh tính ứng dụng thực tiễn cao của ngôn ngữ VBA trong việc giải quyết bài toán tin học hóa khảo thí. Bằng việc kết hợp nhuần nhuyễn giữa tư duy giải thuật, cấu trúc dữ liệu bảng tính và các cơ chế bảo mật giao diện, công trình đã xây dựng thành công một phần mềm thi trắc nghiệm gọn nhẹ, chính xác và hiệu quả vượt trội.

Giải pháp không chỉ giúp chuẩn hóa quy trình kiểm tra đánh giá, bảo đảm tính khách quan, công bằng tuyệt đối trong môi trường giáo dục mà còn mở ra hướng tiếp cận mới trong việc khai thác tối đa tiềm năng của bộ phần mềm văn phòng Microsoft Office. Đây là tài liệu nghiên cứu và mô hình ứng dụng giá trị cho các trường đại học, cao đẳng trong quá trình chuyển đổi số công tác đào tạo và khảo thí hiện nay.