原文地址:
传统的考试,存在着教师批改试卷工作量大,等待考试结果时间长,有可能会出现错改或漏改现象等缺点。随着计算机在校园的普及,如何通过计算机来实现考试无纸化提上了日程。无纸化考试可以减轻教师的负担,避免了人为的改卷差错,同时能在学生考完试后马上可以得知考试的成绩。
本人利用Excel的既有功能结合VBA提供的定时器,制作了无纸化试卷供学校使用,取得了很好的效果。下面将它介绍给大家:
一、思路1、用VBA设置考试的时间,考试结束马上强制停止作答并显示得分。
2、允许提前交卷。并马上给出得分。
3、制成模板,供不同学科的教师便用。
二、无纸化试卷的制作过程2.1 试卷模板的制作
2.1.1 无纸化试卷的格式
(1)在A3:E3的单元格中依次输入“题号”、“内容”、“你的答案”、“正确答案”、“每题得分”。
(2)合并A1:C1,A2:C2,将A1:C1的行高调为30,在A2:C2 中输入“注:本测试的时间为45分钟,共50题,每小题2分”。将B列的列宽调为86.50。
(3)快速填充题号:在A4输入“1”,在A5输入“2”,然后,选定A4:A5,用填充柄拖至A53。
(4)在E4输入“=IF(D4=C4,2,0)”,该公式的含义是如果你的答案的正确答案相同,就给你2分,否则给0分。选定E4,用填充柄拖至E53。
(5)为了防止学生在作答的时候误删或误改,所以要对除C4:C53以外的单元格进行保护。在设定保护单元格之前,必须先设定不需要保护的单元格。选定C4:C53,点击格式/单元格/保护,取消锁定左边方格中的“√”,最后点击确定。
2.1.2、编写VBA代码
(1)进入VBA开发环境,点击插入/模块,然后在代码窗口输入下面的代码:
- Sub xscs()
- Application.OnTime Now + TimeValue("00:60:00"), " xscs1"
- '从现在起的60分钟后,运行xscs1程序
- End Sub
- Sub xscs1()
- MsgBox "考试结束了!" & Chr(10) & "点击确定,你将看到正确答案及评分结果"
- Sheets(2).Select
- Sheets(1).[a3:e53].Copy [a3]
- Columns(2).ColumnWidth = 86.50
- [b3:b53].Rows.AutoFit
- [e1] = "你的得分"
- [e2].FormulaR1C1 = "=SUM(R[2]C:R[51]C)"
- For i = 3 To 53
- If Cells(i, 3) <> Cells(i, 4) Then
- Cells(i, 3) = Cells(i, 3) & Space(3) & "(错)"
- End If
- '如果你的答案错误,那么你的答案后面将出现一个"错"字
- Next
- End Sub
(2)“开始测试”、“提前交卷”按钮的制作
在窗体工具栏上选择按钮控件,将之放在C1,然后在弹出的“指定宏”对话框中选择xscs1,将铵钮命名为“提前交卷”。再选择一个按钮控件,放在C2,其指定宏为xscs,将铵钮命名为“开始测试”。
2.1.3、保存为模板
点击文件/另存为,在出现的“另存为”对话框输入文件名为“限时测试题”,保存类型则设为“模板”,最后点击保存。
2.2 试卷的制作
以后我们每次若需要制作不同学科的无纸化试卷时,只须打开模板,然后按如下步骤进行制作:
1、 在A1:C1输入本次测试的名称,如“政治自测题”。在B4:B53内输入题目的内容。在输入过程中,如果题目太长时,可以用Alt+Enter进行强制换行。
2、 在D4:D53内输入各题的正确答案。为了避免在作答过程中让学生看到正确的答案,必须将答案隐藏起来。选定D列,E列,点击格式/列/隐藏。
3、 设置单元格保护。点击工具/保护/保护工作表,记住密码。
其它:用JavaScript 编写用于自测的在线考试网页
阅读(2708) | 评论(0) | 转发(0) |