劉樂紅
[摘要] 隨著信息技術(shù)的不斷普及,無紙化考試的優(yōu)勢(shì)日益增顯,學(xué)生可在計(jì)算機(jī)上直接答題,教師自動(dòng)獲取學(xué)生得分,從而大大提高了工作效率。本文主要討論如何巧用大眾化軟件Office實(shí)現(xiàn)大量選擇或填空題無紙化考試自動(dòng)判卷。
[關(guān)鍵詞] Office; 宏命令; 自動(dòng)判卷; Word; Excel; 分隔符
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 24. 058
[中圖分類號(hào)]TP391[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]1673 - 0194(2012)24- 0098- 01
很多課程考試一般以大量的客觀題形式組織考試,繁重的閱卷既增加了老師的工作負(fù)荷,還難免出現(xiàn)一些誤批。事實(shí)上大家非常熟悉的Office軟件就能解決這一問題。教師收集試題一般用Word格式,而自動(dòng)判卷利用Office的Excel功能。這就產(chǎn)生一個(gè)問題,如何將用Word格式的選擇題轉(zhuǎn)換為Excel格式。
1將Word格式的選擇題轉(zhuǎn)換為Excel格式
1.1設(shè)立分隔字符,將文檔保存為純文本文件
目的:將Word中每題題干和選項(xiàng)組成一段,題干與選項(xiàng)間、選項(xiàng)間設(shè)立分隔字符用于Excel中分列標(biāo)志。具體如下。①去除各題中題干與選項(xiàng)間、選項(xiàng)與選項(xiàng)間空格串:利用“查找與替換”功能將選項(xiàng)間所有的空格標(biāo)志符“^w”替換欄為空白,刪除選項(xiàng)間空格串。②設(shè)立分隔符(特殊符號(hào)且文中所沒有的,以“&”為例):將選項(xiàng)標(biāo)識(shí)如A)、B)、C)、D)分別替換成&A)、&B)、&C)、&D),(替換次數(shù)應(yīng)與題數(shù)一致,否則說明題中另含選項(xiàng)標(biāo)識(shí))作為選項(xiàng)間分隔符。③去除分隔符&前所有的段落標(biāo)志符:“^p&”替換成“&”,使每題獨(dú)立成段,保存為“wst.txt”文件(如圖1)。
1.2將txt文件轉(zhuǎn)換為Excel文件
打開Excel空白文檔,點(diǎn)擊“文件→打開”命令,雙擊剛保存wst.txt文件,在“文本導(dǎo)入向?qū)А?步驟1”對(duì)話框中選定“分隔符號(hào)”,單擊“下一步”,在“文本導(dǎo)入向?qū)А?步驟2”對(duì)話框中選定分隔符號(hào)“其他”,并填入上一步中設(shè)定的分隔符“&”,查看預(yù)覽后,單擊“下一步”在“文本導(dǎo)入向?qū)А?步驟3”對(duì)話框中查看預(yù)覽后單擊“完成”,就將.Txt文檔轉(zhuǎn)換成Excel文檔。此時(shí)轉(zhuǎn)換的數(shù)據(jù)格式還不是十分理想,還需要對(duì)Excel數(shù)據(jù)表格進(jìn)行必要的單元格格式設(shè)置,并添加合適的列標(biāo)題,同時(shí)增加“答案”列。答案序列生成方法:雙擊第一題答案單元格,單擊“數(shù)據(jù)→有效性”,在“數(shù)據(jù)有效性”對(duì)話框中“允許”下拉列表中選擇“序列”,同時(shí)將“來源”數(shù)據(jù)框中輸入“A,B,C,D”。單擊確定即可生成第一題的4個(gè)選項(xiàng)序列供考生選擇,利用Excel自動(dòng)填充功能,完成每題的選擇序列。工作表命名為“shiti”,保存為“試題.xls”文件。效果如圖2。
2利用Excel自動(dòng)判卷
2.1設(shè)置答案工作表文件
新建工作簿“答案.xls”,將sheet1工作表重命名為“daan”,將A、B、C、D四列第一單元格輸入“題號(hào),標(biāo)準(zhǔn)答案,得分,總分”作為列標(biāo)題?!邦}號(hào)”和“標(biāo)準(zhǔn)答案”兩列需錄入?!暗梅帧绷欣肐F函數(shù)判斷標(biāo)準(zhǔn)答案單元格和“試題.xls”相應(yīng)答案單元格是否相等,相等返回該題分值,不相等返回0分。例如:在得分單元格B2中輸入“=IF(B2=E:\論文\ [試題.xls]shiti!F2,3,0)”(F2是考生答題單元格,3是該題分值),利用填充柄生成其余得分單元格公式。在“總分”列D2單元格中利用SUM函數(shù)求總分,如圖3。
2.2利用宏自動(dòng)判卷
打開“試題.xls”,點(diǎn)擊“工具→宏→錄制宏”,在“錄制宏”對(duì)戶框中輸入宏名“zdpj”,并制訂快捷鍵Ctrl+z,單擊“確定”,開始錄制新宏。點(diǎn)擊“工具→宏→Visual Basic 編輯器”,打開“工程資源管理器”,插入“模塊”并編寫代碼如下:
Sub zdpanjuan()
Dim cj As Integer
mima = InputBox("請(qǐng)輸入密碼:")
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 "該考生成績(jī)?yōu)椋? & zf
Else
MsgBox "請(qǐng)重輸密碼:"
End If
End Sub
關(guān)閉Visual Basic 編輯器,打開試題.xls文件,單擊“工具→宏→執(zhí)行宏”,選定宏“zdpj”,單擊“確定”按鈕(也可以使用設(shè)定好的快捷鍵),輸入密碼后就能直接得出某考生成績(jī)。