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