[摘 要] 目前,越來越多的卷面考試采用網絡平臺考試形式,這一考試形式給教育評價環節帶來極大方便,但在應用條件上也存在一定限制。本系統利用EXCEL VBA操作WORD文檔生成標準化電子文檔,并通過相應處理完成文檔的分發和結果的數據采集,完成試卷的生成和結果的收集,以期為當網絡化平臺考試條件不足時電子化考試所用。
[關 鍵 詞] 標準化試卷;試卷處理系統;EXCEL VBA
[中圖分類號] TP31 [文獻標志碼] A [文章編號] 2096-0603(2018)32-0170-02
教育評價是教學過程中不可缺少的一個基本環節,卷面考試仍是當前教育評價的主要形式。隨著計算機及網絡技術的進步,很多卷面考試采用了網絡平臺考試形式,網絡平臺考試具有不受軟硬件平臺限制、不受時間和地點限制、更新方便、數據收集方便等優點。但也存在一定不足,如需要一定的網站開發技術、需要能在互聯網訪問的服務器、需要相應的軟硬件維護技術力量,一定程度上影響了網絡平臺考試的靈活性和方便性。
本系統利用EXCEL VBA操作WORD文檔,產生包含標準化試卷內容的WORD文檔模板,對試卷模板排版后將WORD試卷分發給考生答題,完畢通過網絡收回各電子試卷,再通過本系統讀取已填寫試卷的內容,完成考試結果的收集過程。
一、系統的設計
(一)EXCEL工作表設計
EXCEL工作簿中有“試題”和“名單”兩張表。“試題”表中存放試題信息,“名單”表存放學生名單及學生填寫后的結果。二表結構如下:
(二)功能的設計
試卷的生成、復制和收回后讀取結果的功能,均利用EXCEL VBA實現,下述代碼需在EXCEL中按ALT+F11進入VBE后輸入(考慮文章篇幅,代碼中主要顯示關鍵代碼)。
1.生成試卷
通過下述代碼,根據各小題題型不同采取不同控件,完成單選、多選和判斷題的設計,生成“試卷模板.doc”,保存在與EXCEL文件所在的同一文件夾中。
Sub生成試卷( )
Set wApp=CreateObject("word. application") 打開word
Set wordd=wApp.documents.Add新建文檔
Tm=Sheets("試題").[al].CurrentRegion
dls=1段落行數
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根據題型確定控件序號
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.復制試卷
根據“名單”中的考生名單將“試卷模板.doc”復制成以考生姓名為文件名的WORD文件。
Sub 復制試卷( )
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.讀取結果
收回試卷文檔后放在與EXCEL文件所在的同一文件夾中,利用“讀取結果”可將該文檔中各考生填寫的內容讀回“名單”中。
Sub讀取結果( )
Set wApp=CreateObject("word,application") 打開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
二、系統的優點
該系統的優點主要體現在操作簡便靈活、對使用者計算機技術要求低和零成本三個方面。
(一)操作簡便靈活
該系統對教師來說,平時只需要使用EXCEL組織試題內容,較為復雜的試題內容如圖形、表格和公式可通過對WORD試卷模板的排版來實現,WORD試卷模板的生成、試卷的更名復制和結果采集均能由系統自動完成。而且由于試題存放在EXCEL工作表中,修改和調整極為方便。
(二)對使用者的計算機技術要求低
該系統對教師來說,需要具體WORD和EXCEL的基本操作技能;對學生來說,需要具備基本的WORD操作,因此從目前情況來看,所有教師和學生應都具備這一考試形式所需能力。
(三)零成本
該系統從功能上來看,除了文件分發和收集過程要通過網絡來實現之外,試卷生成、試卷填寫和試卷結果采集仍屬于單機操作,只要使用者的計算機能正常使用OFFICE,即可完成上述操作。因此通過本方式實施考試,不需增加額外的硬件和軟件投入,在使用過程中也不需要額外的技術維護費用支出。
三、系統的擴展應用
(一)對非標準化試卷內容的處理
大多試卷都由標準化主觀題和非標準客觀題組成,完全標準化的試卷相對來說較少。對非標準化的主觀題,可利用文本框來實現指定位置結果的收集。只需將VBA代碼中ActiveX控件類型設為Textbox,即在“生成試卷( )”功能中,增加題型判斷,將mct = "Forms.CheckBox.1"改成mct="Forms.textbox.1",同時設置文本框控件的屬性,即可實現文本型主觀題設計和結果收集。
(二)試題亂序的實現
對標準化試卷的考試來說,要防止學生偷看他人結果或相互傳遞答案等作弊,最好的方式是打亂各份試卷中客觀題小題題序和選項順序。要實現這一效果,可在EXCEL中增加“試卷庫”表,試卷庫來自試題庫,按各考生分別生成試題,在根據試題庫生成試卷庫時,可隨機生成小題順序和選項順序,從而實現隨機試題和選項順序這一效果。
(三)試卷唯一性的實現
電子文件形式的考試,還需要防止學生通過復制文件或復制試卷內容的方式進行作弊。單純的WORD文檔不具備標記特殊信息這一功能。在本系統中,試題內容是通過各Active X控件來實現的,可利用控件屬性來給試題增加一些特殊標記。比如可以根據學生生成唯一碼,將這唯一碼寫入控件名稱OLEFormat.Object.Name中,使各份試卷同一試題的控件名稱均不相同。試卷收回后對控件名稱進行判斷即可知道該試題屬于哪位學生,從而確保學生只有親手完成自己的電子試卷才為有效卷。
四、需說明的問題
本辦法適用于OFFICE 2003及以上版本,但因WORD在自動恢復文檔時可能會改變試題控件類型,因此如遇試卷文件在填寫時意外關閉,要重新復制試卷文件做題,不要使用WORD自帶的恢復功能。
對EXCEL中的結果判分及運用即為單元格值的匹配運用,方法較多且較為簡單。故本文僅涉及試卷生成、分發和結果收集,未涉及對結果的匹配判分。
參考文獻:
[1]崔明山.運用ASP設計網絡考試系統思路淺探[J].職教論壇,2007(4):58-59.
[2]馮迎春.利用EXCEL VBA自動判分[J].中國教育信息化,2014(2):75-76.