周松(南京財經(jīng)大學信息工程學院,南京 210023)
Excel深度考核自動閱卷系統(tǒng)中控件的評判方法
周松
(南京財經(jīng)大學信息工程學院,南京210023)
Excel的作用很大,幾乎每臺電腦都安裝有Excel軟件。不過許多用戶都認為Excel的主要的作用就是做做報表和圖表,計算公式,但其實Excel的功能非常強大,可以繪制動態(tài)圖表,可以進行規(guī)劃求解,可以進行預測和回歸等。所以有很多高校特別是財經(jīng)類高校都開設了Excel深度應用的課程,如上海財經(jīng)大學開設了《Excel在財務管理中的應用》,南京財經(jīng)大學開設了《Excel在經(jīng)濟統(tǒng)計與分析中的應用》等課程。這些課程大多以公共基礎課的形式開設的,學員很多,考試閱卷的工作量很大,閱卷教師容易出現(xiàn)疲勞判錯等現(xiàn)象。對于學生的操作結果進行自動閱卷是一種很好的方法,它速度快,而準確性高。單元格格式、公式、篩選排序和圖表等方面的自動判斷已有了不少論文進行論述[1-2],而對于如何判斷深度應用中經(jīng)常用到的控件還沒有很好的方法,本文將給出如何對控件進行判斷的方法和關鍵代碼。
在Excel中有表單控件和形狀控件兩種,形狀控件一般用于在Excel中添加標注和形狀,如文本框、藝術字、形狀和圖表等。而表單控件是放置在單元格上方圖形層中的一種小的圖像組件,通過它們可以來增加易用性和控制Excel的操作流程。
默認情況下用戶并不能在功能區(qū)中找到表單控件,需要在Excel“文件”選項卡中點擊“選項”按鈕,然后在彈出的“Excel選項”對話框中選擇“自定義功能區(qū)”,在右側的“主選項卡”中選中“開發(fā)工具”,這時在Excel的主選項卡上就會多出一個“開發(fā)工具”選項卡。在“開發(fā)工具”選項卡的“控件”組中,點擊“插入”按鈕就可以看到可以使用的表單控件了。
表1列出了Excel中常用的表單控件。
表1 Excel中的表單控件
控件可用于動態(tài)圖表、回歸、預測、規(guī)劃求解、經(jīng)濟訂貨量、財務應用等多種深度應用題中。下面舉一個動態(tài)圖表中應用控件的例題。
根據(jù)工作表提供的數(shù)據(jù),匯總出不同職稱教師的住房或課時情況,建立相應的統(tǒng)計表,并在此基礎上在本工作表中制作一個動態(tài)柱形圖(如下圖所示)。
圖1 控件使用例題
在這個例題中,使用了一個表單控件:數(shù)值調節(jié)鈕,以及一個形狀控件:文本框。通過按動數(shù)值調節(jié)鈕的上下箭頭進行調節(jié),使得文本框中切換顯示需要統(tǒng)計的是“住房面積”或“總課時”。并將調節(jié)結果同步顯示在H1單元格中。
在一個題目中可能使用到多個不同的控件,有表1中列出的表單控件,也有可能是“插入”選項組中的圖表、形狀和文本框等形狀控件,下面介紹如何判別控件的種類。
2.1表單控件
對于表單控件,可以使用名字來進行判斷,因為在創(chuàng)建控件的時候,系統(tǒng)會自動給控件起一個名字,這個名字是以控件類型開頭的。如添加了一個復選框,系統(tǒng)自動起名為“Check Box 1”,添加一個列表框,系統(tǒng)自動起名為“List Box 2”。下面給出的代碼是利用控件名稱找到在Excel中添加的復選框控件。
不過控件的名稱是可以在名稱框中進行修改,除非在考題中注明了為該控件設置一個固定的名字,或不允許學生修改控件名稱,否則就不能用控件名稱的方法來查找控件。
控件對象有一個“Type”的屬性,表示控件的類型,但對于表單控件來說類型是一樣的,都是“msoForm-Control”。不過對于表單控件,還有一個“FormControlType”屬性,表示表單控件的類型。下面給出利用FormControlType屬性來找到例題中的數(shù)值調節(jié)鈕控件的代碼。
判斷表單控件是否設置成功,主要是讀取控件的ControlFormat成員屬性,相關主要屬性在表2中列出。
表2 ControlFormat成員主要屬性
以圖1例題為例,正確的設置方式為:先建立一個數(shù)值調節(jié)鈕,然后在控件上單擊鼠標右鍵,設置控件格式。其中最小值(Min)設置為1,最大值(Max)設置為2,步長(SmallChange)設置為1,單元格連接(LinkedCell)設置為I1。只需要讀取相應的屬性就可以判斷考生是否設置正確了。
2.2開頭控件的判斷
在Excel中,除了有表單控件外,各種形狀也是控件,可以用來進行標注,顯示文字。如圖1所示,圖表右上的數(shù)值調節(jié)鈕右側就有一個文本框,這個文本框就是一個圖形控件。表單控件的Type屬性顯示的都是msoFormControl,而每個圖形控件都有自己的類型名,如文本框就是msoTextBox。下面的程序段顯示了如何找到文本框。
文本框控件可以用于顯示某單元格的內(nèi)容,方法是先選中文本框,然后在公式欄中輸入等號“=”,再輸入要顯示的單元格地址。如圖1的例題中,要通過數(shù)值調節(jié)鈕的調節(jié),使得文本框中切換顯示“住房面積”或“總課時”,正確的設置方法是在H1單元格中輸入公式“=INDEX(H2:H3,I1)”,為文本框在公式欄輸入“=H1”。
如果要判斷考生是否設置正確,可以讀取文本框的屬性。形狀控件的DrawingObject成員中包含了大部分重要的屬性,如Formula屬性表示在公式欄中輸入的公式,Caption屬性表示當前在文本框中顯示的內(nèi)容。對于本例來說只要判斷DrawingObject.Formula屬性中是否為H1即可。
在自動閱卷系統(tǒng)中,以前大部分都是根據(jù)結果來進行判斷的。但對于Excel深層應用考試中不合適,因為在深層應用考試中數(shù)據(jù)都是動態(tài)的,如圖1所示的例子,有可能顯示的“住房面積”數(shù)據(jù),但也可能顯示的是“總課時”,所以本文給出了直接對控件的設置進行判斷的方法,這種方法計算量小,而且更加準確。
由于控件的成員和屬性非常的多,本文只列出了部分常用的屬性。所給出的圖1中的例子,如果要完整地進行判斷,則還要對圖形進行判斷,由于本文討論的是控件的評判,其他部分的評判可參閱參考文獻。
[1]劉宇君.基于VBA的Excel操作題自動閱卷系統(tǒng)的設計與實現(xiàn)[J].洛陽師范學院學報,2014,33(8):67-72.
[2]劉凌波,劉蘇淮.基于Excel深層應用的考試和閱卷系統(tǒng)[J].軟件工程師,2015,18(3):3-5.
[3]周松.Visual FoxPro上機操作考試自動閱卷系統(tǒng)的設計與實現(xiàn)[J].淮海工學院學報,2004,12(2):22-24
[4]Microsoft Corporation.Excel幫助[DB/OL].
[5]彭作民.Excel文檔自動閱卷評分算法設計[J].南京師范大學學報,2007,7(3):70-73.
In advanced Excel test,because data is dynamic,controls are usually used in dynamic data control.However,the settings of control are not able to be determined by using the content of cells although it is commonly used in Excel marking system.Makes comparison between form control and shape control and provides implementation methods for finding corresponding controls and determining control settings. Keywords:
Automatic Marking;Excel;VBA
Control Assessment Methods in Advanced Excel Test's Auto Marking System
ZHOU Song
(College of Information Engineering,Nanjing University of Finance and Economics,Nanjing 210023)
1007-1423(2016)18-0059-03
10.3969/j.issn.1007-1423.2016.18.014
周松(1967-),男,江蘇南京人,碩士,副教授,研究方向為計算機軟件開發(fā)與應用
2016-03-10
2016-06-10
Excel深度考核中由于數(shù)據(jù)是動態(tài)的,所以一般都會用到控件來進行動態(tài)數(shù)據(jù)的控制,控件的設置不能通過Excel閱卷系統(tǒng)中通常使用的讀取單元格內(nèi)容的方法來進行判斷。經(jīng)過對表單控件和形狀控件的研究比較,找出控件評判的方法,并給出實現(xiàn)方法。
自動閱卷;Excel;VBA