郎博
摘要:Excel操作題是計算機基礎考試的一個重點考核內容。為了提高Excel操作題的閱卷效率,結合VBA技術,本文設計并實現了通過Excel對象的定義及相應方法、屬性的調用與獲取,給出VB編程實現Excel自動判卷的基本原理與方法。測試結果表明,系統運行良好,評分準確可靠,可以有效提高教師的閱卷效率,為其他考試閱卷系統的設計提供參考。
關鍵詞:VBA;自動閱卷;操作題;Excel對象
中圖分類號:G642.41 ? ? 文獻標志碼:A ? ? 文章編號:1674-9324(2016)43-0255-02
一、研究背景
目前,Excel軟件操作題是計算機能力考試和計算機等級考試的一個必考內容。操作題的閱卷主要依靠人工,這就容易出現漏判、誤判、給分不公正等問題。針對這一問題,通過利用Office軟件自帶的VBA宏指令,對Excel設計一個集判卷、成績統計為一體的閱卷系統。該系統最大的特點是在改卷、成績統計等方面實現了自動化,減輕教師在各個考試環節的工作量。
二、Excel操作題自動閱卷技術分析
Visual Basic for Applications(VBA)是Visual Basic的一種宏語言,由微軟開發,并在其桌面應用程序中執行通用的自動化任務的編程語言,主要用來擴展Windows的應用程式功能,特別是Office軟件。Excel自動閱卷軟件通過使用VBA程序,可以隨意控制文檔中的內容,包括格式、圖表、域等各個對象屬性信息的獲取,還可以使用內置函數,比對試題要求進行自動評分。根據我校現狀,要做到每場考試題目不一樣,而且方便出題、改卷,我們采取了總框架不變,根據題目、細則、專業,微調程序以適應考場,從而保證考試的公平、公正。
對Excel文檔進行自動閱卷,在以下方面要進行深入細致的研究:把Excel文檔對象屬性提取出來,對考生的Excel文檔操作結果進行判斷;掌握對象屬性的數據類型和數據結構、該對象與其他對象的關聯及訪問該對象的一些特殊設置;制定合理的評卷標準和策略,使系統對Office文檔的自動閱卷更客觀。
三、Excel操作題自動閱卷軟件的實現算法
Excel中對工作薄、工作表、菜單欄、工具欄、窗體、數據等一切可控制的元件,都有相應的對象描述。可將Excel文件的閱卷內容分為判斷結果、判斷格式、判斷操作、判斷函數幾種,采用不同的評分算法,從而獲得合理的試題得分。下面主要介紹實現自動閱卷軟件的相關算法。
1.單元格格式比對算法。在Excel中,單元格格式操作是經常使用的,包括設置單元格字體樣式、數值格式、單元格對齊方式等。試卷操作題通常要求對指定區域進行格式設置,設置后的結果自動保存在單元格區域中。考試中,如果考生在對應的單元格區域操作錯誤,或者只對部分區域進行操作設置,使得在對該區域進行判卷時容易誤判,造成評分方式不合理。因此,該軟件采用單向比對的方法對知識點進行評分。
2.單元格區域定位算法。此類算法是由學生操作錯誤,在工作表中多插入或多刪除一行或一列,使得整個數據與比對樣本區域的位置錯位。自動閱卷軟件通過提取特定數值來判斷單元格區域的對象,在工作表中搜索某一單元格的Range對象,如果找到該單元格,就驗證該單元格Range對象的Value值,否則顯示未找到對象。因此,可以利用Current Region屬性,搜索得到單元格數值所在的區域范圍,在軟件中的對應知識點區域對其閱卷評分。
3.對工作表、圖表、數據分析部分采用的算法。Excel工作表考點包括插入、復制、移動、刪除、重命名工作表等操作;圖表部分的考點包含圖表類型、圖表格式、圖表生成、圖例格式等;數據分析部分的考點包括排序、篩選、分類匯總、數據透視表等。此部分評分的算法相對簡單,只要讀出考生文檔中的相關屬性值,比對Excel文檔對象相關屬性標準答案的關鍵詞即可。
4.基于規則的容錯算法。Excel考題中,經常出現一個知識點會涉及多個操作步驟。比如,以分類匯總為知識點,首先按照題目要求對字段關鍵字進行升序或降序,然后根據題目對所需的關鍵字進行分類匯總。判卷是需要在Excel單元格區域內比對至少兩個屬性中的對象。考生操作此類題目時,如果操作順序不同,會造成最終結果錯誤不能得分,這對考生不公平。對于此類型操作題的判分方法,我們給出了一個合理的解決辦法。知識點劃分不細,是此類型誤判的主要原因,一個知識點對應多個操作,容易產生連帶錯誤,造成誤判。因此在判分時,將每一步操作分為一個知識點,每個知識點對應一個分值。以上述分類匯總為例,將該操作步驟細化為四個知識點,一是主關鍵字排序,二是主關鍵字的排序方式(即升序或降序),三是分類匯總的關鍵字,四是分類匯總的排序方式,分別對應不同的分值。考生只要完成任一知識點的操作,就可獲得對應知識點的分值。此評分方法比較合理、公平,可以有效地避免因連帶錯誤產生的誤判。
5.利用兼容多種公式的正則表達式,判定公式、函數表達式。Excel的公式和函數是操作題的一個考核重點,其結果的復雜性是誤判產生的原因之一。此部分主要是考核學生掌握Excel的公式與函數情況,對EXCEL工作表中的數據進行計算,實際上是利用公式或函數的表達式對單元格進行操作,而非簡單地計算結果值。正則表達式(Regular Expression,通常縮寫成regex),是指一個用來描述或者匹配一系列符合某個句法規則的字符串的單個字符串。以Excel公式為例,“=sum(A1:b1)=sum(a2:b2)”,若以正則思維來匹配兩個公式,只要它符合“=sum(A[1-9]:B[1-9])”(其中[1-9]表示數字,此字符串僅為表達正則思路)即可。因此,利用正則表達式,可以匹配規律相同的同行或者同列公式,能夠克服檢查無數單元格需要不同編程代碼的瓶頸。在自動軟件設置的參考答案中,不可能將所需表達式的所有情況一一列舉出來。因此,單純地采用公式表達式比對的方法,很難實現對試卷的公正評判,為此自動閱卷軟件設計了一個給分算法。仍以上述例子的實現算法來分析:利用單元格對象的屬性判斷該單元格內的結果,是采用公式或函數表達式,還是常規數。如果結果為TRUE,則進一步判分,否則退出;給出根據試卷Excel文檔中單元格內的數據,比對用標準公式給出的相關數據計算結果值;給出考生在Excel文檔中使用的公式,得出相關數據的結果值;比對用標準公式計算的結果值和考生使用的公式計算得出的結果值,結果相同給分,否則為0分。上述算法,可以解決軟件不可能窮舉所有公式表達式的問題,進一步驗證考生是否使用公式進行計算,而不是在單元格內直接填入計算好的結果,同時也能判斷出考生使用的公式是否正確。
四、Excel操作題自動閱卷的實現
在設計Excel操作題自動閱卷軟件時,我們考慮到既能方便教師批改試卷,也可以讓學生自行判卷,查看每個知識點的得分情況,因此,分為Excel文檔批量改和Excel文檔單個改兩個部分。教師可以選擇任意一張或全部考卷,進行自動閱卷,系統顯示所需批改Excel試卷的份數,自動批改Excel試卷。程序自動比對學生試卷與考題試卷,完成評分過程,改卷結束,自動鏈接到Excel文檔,顯示改卷結果分數,保存到指定的文件夾路徑,保留試卷批改結果(自動生成文件名專業-Excel.xls)。學生可以指定所需批改的單個Excel文檔(在學生試卷內的某個Excel文檔),顯示每個考點的得失分結果。
五、結語
本文主要分析了利用VBA對Excel操作題進行自動閱卷評分所用的基本原理和方法。該系統在自動閱卷方面能夠較好地滿足計算機基礎考試中的自動閱卷要求,但其在某些方面還需要做進一步的改進,以期能夠日趨完善和穩定。這對計算機應用能力考試的閱卷工作,是一件十分有意義的事情,而且可以對其他考試實現自動閱卷提供有益的借鑒。
參考文獻:
[1]張量,詹國華.開放式、智能化計算機考核閱卷系統的設計與實現[J].計算機工程與應用,2011,37(10):147-150.
[2]李旌燕.EXCE操作題自動出題和自動閱卷系統的設計與實現[D].長沙:中南大學,2009.
Based on the Rules of the Design and Implementation of Automatic Marking Software Excel
LANG Bo
(College of Information Engineering,Zhengzhou University,Zhengzhou,Henan 450001,China)
Abstract:The examination for Excel operating-question is the emphasis of computer application basis examination.In order to improve the scoring efficiency of Excel operating-question,the auto marking technology is analyzed,and applying VBA to office automatic marking is put forward according to the inner structure features of the document in order to overcome the shortcomings of previous method and the code of VBA for an example of automatic marking of a excel document is given. Test results shows that the system is running wellwhith an accurate score,reliable .It can improve the efficiency of the teacher marking,and marking system design provides a reference for other exams.
Key words:VBA;Automatic marking;Operating-question;Excel Object