巧用Office实现无纸化考试自动判卷
2012-04-29刘乐红
刘乐红
[摘要] 随着信息技术的不断普及,无纸化考试的优势日益增显,学生可在计算机上直接答题,教师自动获取学生得分,从而大大提高了工作效率。本文主要讨论如何巧用大众化软件Office实现大量选择或填空题无纸化考试自动判卷。
[关键词] Office; 宏命令; 自动判卷; Word; Excel; 分隔符
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 24. 058
[中图分类号]TP391[文献标识码]A[文章编号]1673 - 0194(2012)24- 0098- 01
很多课程考试一般以大量的客观题形式组织考试,繁重的阅卷既增加了老师的工作负荷,还难免出现一些误批。事实上大家非常熟悉的Office软件就能解决这一问题。教师收集试题一般用Word格式,而自动判卷利用Office的Excel功能。这就产生一个问题,如何将用Word格式的选择题转换为Excel格式。
1将Word格式的选择题转换为Excel格式
1.1设立分隔字符,将文档保存为纯文本文件
目的:将Word中每题题干和选项组成一段,题干与选项间、选项间设立分隔字符用于Excel中分列标志。具体如下。①去除各题中题干与选项间、选项与选项间空格串:利用“查找与替换”功能将选项间所有的空格标志符“^w”替换栏为空白,删除选项间空格串。②设立分隔符(特殊符号且文中所没有的,以“&”为例):将选项标识如A)、B)、C)、D)分别替换成&A)、&B)、&C)、&D),(替换次数应与题数一致,否则说明题中另含选项标识)作为选项间分隔符。③去除分隔符&前所有的段落标志符:“^p&”替换成“&”,使每题独立成段,保存为“wst.txt”文件(如图1)。
1.2将txt文件转换为Excel文件
打开Excel空白文档,点击“文件→打开”命令,双击刚保存wst.txt文件,在“文本导入向导——3步骤1”对话框中选定“分隔符号”,单击“下一步”,在“文本导入向导——3步骤2”对话框中选定分隔符号“其他”,并填入上一步中设定的分隔符“&”,查看预览后,单击“下一步”在“文本导入向导——3步骤3”对话框中查看预览后单击“完成”,就将.Txt文档转换成Excel文档。此时转换的数据格式还不是十分理想,还需要对Excel数据表格进行必要的单元格格式设置,并添加合适的列标题,同时增加“答案”列。答案序列生成方法:双击第一题答案单元格,单击“数据→有效性”,在“数据有效性”对话框中“允许”下拉列表中选择“序列”,同时将“来源”数据框中输入“A,B,C,D”。单击确定即可生成第一题的4个选项序列供考生选择,利用Excel自动填充功能,完成每题的选择序列。工作表命名为“shiti”,保存为“试题.xls”文件。效果如图2。
2利用Excel自动判卷
2.1设置答案工作表文件
新建工作簿“答案.xls”,将sheet1工作表重命名为“daan”,将A、B、C、D四列第一单元格输入“题号,标准答案,得分,总分”作为列标题。“题号”和“标准答案”两列需录入。“得分”列利用IF函数判断标准答案单元格和“试题.xls”相应答案单元格是否相等,相等返回该题分值,不相等返回0分。例如:在得分单元格B2中输入“=IF(B2=E:\论文\ [试题.xls]shiti!F2,3,0)”(F2是考生答题单元格,3是该题分值),利用填充柄生成其余得分单元格公式。在“总分”列D2单元格中利用SUM函数求总分,如图3。
2.2利用宏自动判卷
打开“试题.xls”,点击“工具→宏→录制宏”,在“录制宏”对户框中输入宏名“zdpj”,并制订快捷键Ctrl+z,单击“确定”,开始录制新宏。点击“工具→宏→Visual Basic 编辑器”,打开“工程资源管理器”,插入“模块”并编写代码如下:
Sub zdpanjuan()
Dim cj As Integer
mima = InputBox("请输入密码:")
If mima = "810108" Then
Set newbook = Workbooks.Open("E:\论文\答案.xls")
cj= newbook.Sheets("daan").Cells(2, 4)
zf= Str(cj)
newbook.Close SaveChanges:=True
Set newbook = Nothing
MsgBox "该考生成绩为:" & zf
Else
MsgBox "请重输密码:"
End If
End Sub
关闭Visual Basic 编辑器,打开试题.xls文件,單击“工具→宏→执行宏”,选定宏“zdpj”,单击“确定”按钮(也可以使用设定好的快捷键),输入密码后就能直接得出某考生成绩。