[摘 要] 目前,越來(lái)越多的卷面考試采用網(wǎng)絡(luò)平臺(tái)考試形式,這一考試形式給教育評(píng)價(jià)環(huán)節(jié)帶來(lái)極大方便,但在應(yīng)用條件上也存在一定限制。本系統(tǒng)利用EXCEL VBA操作WORD文檔生成標(biāo)準(zhǔn)化電子文檔,并通過(guò)相應(yīng)處理完成文檔的分發(fā)和結(jié)果的數(shù)據(jù)采集,完成試卷的生成和結(jié)果的收集,以期為當(dāng)網(wǎng)絡(luò)化平臺(tái)考試條件不足時(shí)電子化考試所用。
[關(guān) 鍵 詞] 標(biāo)準(zhǔn)化試卷;試卷處理系統(tǒng);EXCEL VBA
[中圖分類號(hào)] TP31 [文獻(xiàn)標(biāo)志碼] A [文章編號(hào)] 2096-0603(2018)32-0170-02
教育評(píng)價(jià)是教學(xué)過(guò)程中不可缺少的一個(gè)基本環(huán)節(jié),卷面考試仍是當(dāng)前教育評(píng)價(jià)的主要形式。隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的進(jìn)步,很多卷面考試采用了網(wǎng)絡(luò)平臺(tái)考試形式,網(wǎng)絡(luò)平臺(tái)考試具有不受軟硬件平臺(tái)限制、不受時(shí)間和地點(diǎn)限制、更新方便、數(shù)據(jù)收集方便等優(yōu)點(diǎn)。但也存在一定不足,如需要一定的網(wǎng)站開(kāi)發(fā)技術(shù)、需要能在互聯(lián)網(wǎng)訪問(wèn)的服務(wù)器、需要相應(yīng)的軟硬件維護(hù)技術(shù)力量,一定程度上影響了網(wǎng)絡(luò)平臺(tái)考試的靈活性和方便性。
本系統(tǒng)利用EXCEL VBA操作WORD文檔,產(chǎn)生包含標(biāo)準(zhǔn)化試卷內(nèi)容的WORD文檔模板,對(duì)試卷模板排版后將WORD試卷分發(fā)給考生答題,完畢通過(guò)網(wǎng)絡(luò)收回各電子試卷,再通過(guò)本系統(tǒng)讀取已填寫(xiě)試卷的內(nèi)容,完成考試結(jié)果的收集過(guò)程。
一、系統(tǒng)的設(shè)計(jì)
(一)EXCEL工作表設(shè)計(jì)
EXCEL工作簿中有“試題”和“名單”兩張表?!霸囶}”表中存放試題信息,“名單”表存放學(xué)生名單及學(xué)生填寫(xiě)后的結(jié)果。二表結(jié)構(gòu)如下:
(二)功能的設(shè)計(jì)
試卷的生成、復(fù)制和收回后讀取結(jié)果的功能,均利用EXCEL VBA實(shí)現(xiàn),下述代碼需在EXCEL中按ALT+F11進(jìn)入VBE后輸入(考慮文章篇幅,代碼中主要顯示關(guān)鍵代碼)。
1.生成試卷
通過(guò)下述代碼,根據(jù)各小題題型不同采取不同控件,完成單選、多選和判斷題的設(shè)計(jì),生成“試卷模板.doc”,保存在與EXCEL文件所在的同一文件夾中。
Sub生成試卷( )
Set wApp=CreateObject("word. application") 打開(kāi)word
Set wordd=wApp.documents.Add新建文檔
Tm=Sheets("試題").[al].CurrentRegion
dls=1段落行數(shù)
For i=2 To UBound(Tm)題 1-N
If Tm(i, 2)<>Tm(i - 1, 2)Then
wordd.Paragraphs(dls).Range.Text=Tm(i, 2)&Chr(10):dls=dls+1題型
End If
wordd.Paragraphs(dls).Tange.Text=Tm(i, 3)&"."&Tm(i, 4)&Chr(10):dls=dls+1題干
If Tm(i, 2)Like"多*"Then根據(jù)題型確定控件序號(hào)
mct="Forms.CheckBox.1"
Else
mct="Forms.OptionButton.1"
End If
For j=5 To 8選1-4
mcp=Chr(64 + j - 4)&"."&Trim(Tm(i, j))
If Len(mcp) >2 Then
Set Wpr =wordd.Paragraphs(dls).Range最后行位置 Set Waia=wApp.ActiveDocument.InlineShapes.AddOLE Control(ClassType:=mct,Range:=Wpr)
With Waia.OLEFormat.Object
.Caption=mcp
.Name="T"&Tm(i, 1)&"_"&Chr(64 + j - 4)
.Width=Application.Min(Len(mcp)*11,390)
.AutoSize=True
.groupname="T"&Tm(i, 1)
End With
wordd.Paragraphs(dls).Range.InsertAfter(vbCrLf):dls=dls+1插入一段
End If
Next j
Next i
wordd.SaveAs ThisWorkbook.Path&"\試卷模板.doc":wApp.Quit
End Sub
2.復(fù)制試卷
根據(jù)“名單”中的考生名單將“試卷模板.doc”復(fù)制成以考生姓名為文件名的WORD文件。
Sub 復(fù)制試卷( )
sfile = ThisWorkbook.Path & "\試卷模板.doc"
For i = 2 To Worksheets("名單").[a1].CurrentRegion.Rows.Count
FileCopy sfile,ThisWorkbook.Path & "\" & Worksheets("名單").Cells(i, 2) & ".doc"
Next i
End Sub
3.讀取結(jié)果
收回試卷文檔后放在與EXCEL文件所在的同一文件夾中,利用“讀取結(jié)果”可將該文檔中各考生填寫(xiě)的內(nèi)容讀回“名單”中。
Sub讀取結(jié)果( )
Set wApp=CreateObject("word,application") 打開(kāi)word
Set Ws=Worksheets("名單")
Ws.Range("c2:ae2000").ClearContents
For fi=2 To WS.[al].CurrentRegion.Rows.Count逐文件
wApp.documents.Open ThisWorkbook.Path&"\"&Ws.Cells(fi, 2)&".doc"
For Each i In wApp.ActiveDocument.InlineShapes逐控件
With i.OLEFormat.Object
If.Name Like"T*"And.Value Then
Is=Mid(.Name,2,Len(.Name)-3):xs=Right(.Name,1)
Ws.Cells(fi, Is + 2).Value=Trim(Ws.Cells(fi, Is + 2))&xs
End If
End With
Naxt i
Nest fi
wApp.Quit
End Sub
二、系統(tǒng)的優(yōu)點(diǎn)
該系統(tǒng)的優(yōu)點(diǎn)主要體現(xiàn)在操作簡(jiǎn)便靈活、對(duì)使用者計(jì)算機(jī)技術(shù)要求低和零成本三個(gè)方面。
(一)操作簡(jiǎn)便靈活
該系統(tǒng)對(duì)教師來(lái)說(shuō),平時(shí)只需要使用EXCEL組織試題內(nèi)容,較為復(fù)雜的試題內(nèi)容如圖形、表格和公式可通過(guò)對(duì)WORD試卷模板的排版來(lái)實(shí)現(xiàn),WORD試卷模板的生成、試卷的更名復(fù)制和結(jié)果采集均能由系統(tǒng)自動(dòng)完成。而且由于試題存放在EXCEL工作表中,修改和調(diào)整極為方便。
(二)對(duì)使用者的計(jì)算機(jī)技術(shù)要求低
該系統(tǒng)對(duì)教師來(lái)說(shuō),需要具體WORD和EXCEL的基本操作技能;對(duì)學(xué)生來(lái)說(shuō),需要具備基本的WORD操作,因此從目前情況來(lái)看,所有教師和學(xué)生應(yīng)都具備這一考試形式所需能力。
(三)零成本
該系統(tǒng)從功能上來(lái)看,除了文件分發(fā)和收集過(guò)程要通過(guò)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)之外,試卷生成、試卷填寫(xiě)和試卷結(jié)果采集仍屬于單機(jī)操作,只要使用者的計(jì)算機(jī)能正常使用OFFICE,即可完成上述操作。因此通過(guò)本方式實(shí)施考試,不需增加額外的硬件和軟件投入,在使用過(guò)程中也不需要額外的技術(shù)維護(hù)費(fèi)用支出。
三、系統(tǒng)的擴(kuò)展應(yīng)用
(一)對(duì)非標(biāo)準(zhǔn)化試卷內(nèi)容的處理
大多試卷都由標(biāo)準(zhǔn)化主觀題和非標(biāo)準(zhǔn)客觀題組成,完全標(biāo)準(zhǔn)化的試卷相對(duì)來(lái)說(shuō)較少。對(duì)非標(biāo)準(zhǔn)化的主觀題,可利用文本框來(lái)實(shí)現(xiàn)指定位置結(jié)果的收集。只需將VBA代碼中ActiveX控件類型設(shè)為T(mén)extbox,即在“生成試卷( )”功能中,增加題型判斷,將mct = "Forms.CheckBox.1"改成mct="Forms.textbox.1",同時(shí)設(shè)置文本框控件的屬性,即可實(shí)現(xiàn)文本型主觀題設(shè)計(jì)和結(jié)果收集。
(二)試題亂序的實(shí)現(xiàn)
對(duì)標(biāo)準(zhǔn)化試卷的考試來(lái)說(shuō),要防止學(xué)生偷看他人結(jié)果或相互傳遞答案等作弊,最好的方式是打亂各份試卷中客觀題小題題序和選項(xiàng)順序。要實(shí)現(xiàn)這一效果,可在EXCEL中增加“試卷庫(kù)”表,試卷庫(kù)來(lái)自試題庫(kù),按各考生分別生成試題,在根據(jù)試題庫(kù)生成試卷庫(kù)時(shí),可隨機(jī)生成小題順序和選項(xiàng)順序,從而實(shí)現(xiàn)隨機(jī)試題和選項(xiàng)順序這一效果。
(三)試卷唯一性的實(shí)現(xiàn)
電子文件形式的考試,還需要防止學(xué)生通過(guò)復(fù)制文件或復(fù)制試卷內(nèi)容的方式進(jìn)行作弊。單純的WORD文檔不具備標(biāo)記特殊信息這一功能。在本系統(tǒng)中,試題內(nèi)容是通過(guò)各Active X控件來(lái)實(shí)現(xiàn)的,可利用控件屬性來(lái)給試題增加一些特殊標(biāo)記。比如可以根據(jù)學(xué)生生成唯一碼,將這唯一碼寫(xiě)入控件名稱OLEFormat.Object.Name中,使各份試卷同一試題的控件名稱均不相同。試卷收回后對(duì)控件名稱進(jìn)行判斷即可知道該試題屬于哪位學(xué)生,從而確保學(xué)生只有親手完成自己的電子試卷才為有效卷。
四、需說(shuō)明的問(wèn)題
本辦法適用于OFFICE 2003及以上版本,但因WORD在自動(dòng)恢復(fù)文檔時(shí)可能會(huì)改變?cè)囶}控件類型,因此如遇試卷文件在填寫(xiě)時(shí)意外關(guān)閉,要重新復(fù)制試卷文件做題,不要使用WORD自帶的恢復(fù)功能。
對(duì)EXCEL中的結(jié)果判分及運(yùn)用即為單元格值的匹配運(yùn)用,方法較多且較為簡(jiǎn)單。故本文僅涉及試卷生成、分發(fā)和結(jié)果收集,未涉及對(duì)結(jié)果的匹配判分。
參考文獻(xiàn):
[1]崔明山.運(yùn)用ASP設(shè)計(jì)網(wǎng)絡(luò)考試系統(tǒng)思路淺探[J].職教論壇,2007(4):58-59.
[2]馮迎春.利用EXCEL VBA自動(dòng)判分[J].中國(guó)教育信息化,2014(2):75-76.