摘 要: 近年來,我國高等職業教育迎來全新的發展局面,招生規模的不斷擴大使學校的教務管理負擔也越來越重。針對期末考試任務繁重情況,基于EXCEL VBA開發了試卷自動生成系統,實現了無紙化上機考試,介紹了系統構成與功能實現。測試表明,該系統具有良好的通用性和可擴展性,提高了考試管理效率、降低了管理成本,能夠適合各類學校的多數課程教學。
關鍵詞: EXCEL; 上機考試; 系統構成; 試卷設置; 成績表
中圖分類號:TP317 文獻標志碼:A 文章編號:1006-8228(2014)09-79-03
Design and implementation of computer test system based on EXCEL software
Chen Qinrong, Li Huanyue
(Shantou Vocational and Technical College, Shantou, Guangdong 515041, China)
Abstract: In recent years, as our country's higher vocational education faces a new trend of development, the expansion of enrollment scale of new colleges has resulted in a heavier burden on the school educational administration management. Aiming at the onerous final exam task, test automatic generation system is designed based on EXCEL VBA to realize the paperless computer test system. The results shows that it has good versatility and expansibility, convenient and quick, low cost, high efficiency. It suits most courses in various school.
Key words: EXCEL; online examination; system structure; test settings; grade tables
0 引言
對于高等職業院校,每到學期末考試時,教務部門就會面臨任務重,缺人手,缺試室,試卷難以及時完成印刷等問題。而在這時,學校的電腦室卻有許多閑置。若把一些科目的考試變成用電腦來實現,那么既可充分利用學校的電腦室(及設備),獲得更多的試室,又能減輕學期末印刷試卷的任務,還可降低考試成本,提高效率,因此,我們設計開發了這一上機考試系統。
1 系統構成與功能
系統由兩個EXCEL工作簿文件組成。其中一個是上機考試系統工作簿,另一個是成績表工作簿。其中上機考試系統工作簿由八個工作表組成,成績表工作簿由一個表組成。主要的工作表及基本功能如下。
1.1 試卷設置工作表
該表用于設置試卷標題、內容、題型、題量、考試時間以及顯示標準答案的密碼,如圖1所示。
1.2 考生名冊工作表
該表用于錄入考生的準考證號和姓名,以方便考生登錄,如圖2所示。
1.6 成績表工作簿
該工作簿只有一個成績表,用于存放考生成績。該表提供自動生成成績的命令按鈕,如圖6所示。
2 系統實現
首先按系統構成建立工作簿“上機考試系統.xlsm”。
2.1 題庫工作表的建立
各個題庫工作表首行分別設置:題號、題目、答案三欄目以及該題型的題目數量。題號單元格可填寫“=ROW()-1”實現自動編號,也方便于題庫中題目的增刪。建立題號時,將其向下填充公式即可。題目數量用=COUNTA(A:A)-1獲得。該表除需輸入的三列內容之外,其他部分全部鎖定并用密碼保護工作表,其他題庫工作表處理方法類似。
2.2 試卷設置工作表的建立
按圖1所示建立表格,其中題型自動從上機考試系統的工作表標簽名獲得,題庫題量自動引用各種題型工作表的題量。確定題量時設置輸入提示,題量為0時,表示不出該題型,輸入題量超出時,自動給出提示。設置各種題型每小題的分值,整份試卷的總分自動顯示。“設置完畢,生成考試文件”按鈕的功能:一是把當前設置保存為上機考試系統工作簿文件;二是把本表的一些數據傳送到“試卷”工作表中,隱藏本工作表,隱藏題庫工作表及考生名冊工作表,同時從安全角度對相關工作表進行密碼保護,最后把本工作簿另存為以考試標題為主文件名的考試文件,并關閉本工作簿。
2.3 考生登錄
考生打開考試文件時,自動顯示考生登錄窗口,工作簿只顯示考生登錄工作表及試卷工作表,其他工作表是隱藏的。考生未登錄時,試卷是空白的。當考生選擇準考證號或姓名登錄時,這時才真正從題庫按試卷設置隨機生成試題,同時刪除不再需要的工作表,并開始按設定的時間倒計時,考生進行答題。
生成試題時,題目的答案也一并復制到試卷工作表的某個地方,并隱藏起來,為接下來的評分做好準備。
2.4 提交試卷
計時時間到,或點擊“提交試卷”按鈕時,將自動鎖定答題區,進行評分。評分時將顯示各題型得分及總分。評分后的文件被標記為已考及已評分的記號,整個工作簿被保護,并以準考證號與考生姓名為文件名另存工作簿。同時刪除原來分發的考試文件,防止學生重復考試(當然考生重復考試也沒有足夠的時間)。考生瀏覽考試結果后,關閉工作簿并按要求提交工作簿文件。
2.5 評分方法
系統現提供單選、判斷、多選、填空四種題型,對于單選與判斷評分是,對則給分,錯則不給分也不扣分。多選題評分方法是,把每小題的分值給該題的選項個數平均,然后按選對多少項,給多少項的平均分,選錯多少項,扣多少項的平均分進行合計,該題最少為零分。具體評分時,先對考生答案的重復字母刪除,再進行判斷。填空題規定每小題兩個填空,計分按每個填空正確得該題一半分數,填錯不扣分,進行評分。
2.6 自動成績表
首先把考生名冊復制到自動成績表工作簿指定位置,然后點擊“……,產生成績表”按鈕,指定收集考生試卷文件的文件夾,這時將自動獲取每份試卷的成績,產生出成績表。這里是通過引用考生試卷文件的成績單元格來實現。同時通過選擇性粘貼數值方法,斷開與各個試卷文件的聯系,使成績表具有獨立性。實現此功能代碼如下:
Private Sub CommandButton1_Click()
Dim fd As FileDialog, fn, mypath As String
Dim i, s As Integer
MsgBox \"選擇考生試卷文件所在的文件夾\"
Set fd=Application.FileDialog(msoFileDialogFolderPicker)
With fd
If .Show=-1 Then
mypath=.SelectedItems(1) '選擇考生試卷文件所在文件夾
End If
End With
Set fd=Nothing
Cells(1, 10)=\"=counta(b:b)-1\"
s=Cells(1, 10) '獲取總人數
'實現象這樣“='C:\Users\Administrator\Desktop\TEM\[11114黃曉
敏.xlsm]試卷'!$E$3”公式的自動填充,引用不同工作簿中的同一
單元格
For i=4 To s+3
Cells(i, 10)=\"=b\" i \"c\" i 'B\"i\" C\"i\"
fn=Cells(i, 10) \".xlsm\"
Set MyFile=CreateObject(\"Scripting.FileSystemObject\")
If MyFile.FileExists(mypath \"\\" fn) Then
'MsgBox \"文件存在\"
Cells(i, 4)=\"='\" mypath \"\[\" Cells(i, 10) \".xlsm]
試卷'!$E$3\"
End If
Next
'進行數值性粘貼,斷開與試卷文件的聯系
Sheets(\"成績表\").Range(Cells(4, 4), Cells(s+3, 4)).Copy
Sheets(\"成績表\").Range(Cells(4, 4), Cells(s+3, 4))
.PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial Paste:=xlPasteFormats
Worksheets(\"成績表\").Columns(10).ClearContents '清除臨時內容
'加邊框
Sheets(\"成績表\").Unprotect \"fhd842\"
With Range(Cells(3, 2), Cells(s+3, 4))
.HorizontalAlignment=xlCenter '水平居中
.VerticalAlignment=xlCenter '垂直居中
With .Borders
.LineStyle=xlContinuous '邊框細線
.Weight=xlThin '細邊框
End With
End With
Sheets(\"成績表\").Protect \" fhd842\"
Cells(3, 4).Select
End Sub
2.7 操作界面設計
本系統在界面上也進行了一些處理,通過獲取屏幕分辨率,控制“試卷設置”、“試卷”、成績表表格在屏幕水平方向居中,改善了系統在EXCEL環境的外觀效果。
3 系統使用
⑴ 打開上機考試系統工作簿,按各種題型格式要求,建立題庫,包括題目和答案。
⑵ 錄入考生名冊。
⑶ 通過試卷設置工作表界面,設定試卷標題,考試內容和題量以及分值。點擊“生成試卷”按鈕。
⑷ 把生成的試卷文件通過電腦室網絡分發給考生進行考試。
⑸ 考生打開試卷文件,選擇自己的準考證號或姓名登錄。登錄后,考生看到實際試卷并進行答卷。最后通過“提交試卷”按鈕繳卷,并得知成績,同時生成考生準考證號和姓名命名的工作簿文件。
⑹ 考生按要求提交自己的試卷文件。
⑺ 教師收集試卷文件后,打開自動成績表工作簿(事先已復制了考生名冊),點擊生成成績表按鈕,選定收集試卷的文件夾,即可得到成績表。如圖8所示。
4 結束語
采用本系統進行上機考試,可大大降低學校期末考試的工作壓力,充分利用學校電腦室資源。由于不需印刷紙質試卷,從而節省了人力,降低了考試成本與費用。另外,采用隨機產生試題,從整體來看,不但知識點覆蓋面更廣,也提高了成績的可信度,減輕了監考難度,提高了考試質量。此外,考試成績自動生成,節省了評審試卷的人力消耗,提高了效率。
本系統若公開查詢標準答案的密碼,則可將其用于學生平時學習或自測。
顯然,本系統有許多優點,但它比較適合于客觀型試題的內容,尚未能對包含圖像的內容進行處理。這些方面有待改進和擴展。
參考文獻:
[1] 張玉葉,馬春清.基于EXCEL的試卷自動生成系統的設計與實現[J].
計算機時代,2013.2:25-27
[2] 張寧.用EXCEL制作試卷必須解決的幾個問題[J].計算機時代,
2013.3:39-41
[3] 杰誠文化.Excel2007財務管理范例應用[M].中國青年出版社,2008.
[4] 叢飚. 基于VBA改進的學分績點統計程序[J].吉林師范大學學報(自
然科學版),2010.4.
[5] 張玉葉,郝強.試卷自動生成系統的設計與實現[J].濟南職業學院學
報,2008.5.