周松(南京财经大学信息工程学院,南京 210023)
Excel深度考核自动阅卷系统中控件的评判方法
周松
(南京财经大学信息工程学院,南京210023)
Excel的作用很大,几乎每台电脑都安装有Excel软件。不过许多用户都认为Excel的主要的作用就是做做报表和图表,计算公式,但其实Excel的功能非常强大,可以绘制动态图表,可以进行规划求解,可以进行预测和回归等。所以有很多高校特别是财经类高校都开设了Excel深度应用的课程,如上海财经大学开设了《Excel在财务管理中的应用》,南京财经大学开设了《Excel在经济统计与分析中的应用》等课程。这些课程大多以公共基础课的形式开设的,学员很多,考试阅卷的工作量很大,阅卷教师容易出现疲劳判错等现象。对于学生的操作结果进行自动阅卷是一种很好的方法,它速度快,而准确性高。单元格格式、公式、筛选排序和图表等方面的自动判断已有了不少论文进行论述[1-2],而对于如何判断深度应用中经常用到的控件还没有很好的方法,本文将给出如何对控件进行判断的方法和关键代码。
在Excel中有表单控件和形状控件两种,形状控件一般用于在Excel中添加标注和形状,如文本框、艺术字、形状和图表等。而表单控件是放置在单元格上方图形层中的一种小的图像组件,通过它们可以来增加易用性和控制Excel的操作流程。
默认情况下用户并不能在功能区中找到表单控件,需要在Excel“文件”选项卡中点击“选项”按钮,然后在弹出的“Excel选项”对话框中选择“自定义功能区”,在右侧的“主选项卡”中选中“开发工具”,这时在Excel的主选项卡上就会多出一个“开发工具”选项卡。在“开发工具”选项卡的“控件”组中,点击“插入”按钮就可以看到可以使用的表单控件了。
表1列出了Excel中常用的表单控件。
表1 Excel中的表单控件
控件可用于动态图表、回归、预测、规划求解、经济订货量、财务应用等多种深度应用题中。下面举一个动态图表中应用控件的例题。
根据工作表提供的数据,汇总出不同职称教师的住房或课时情况,建立相应的统计表,并在此基础上在本工作表中制作一个动态柱形图(如下图所示)。
图1 控件使用例题
在这个例题中,使用了一个表单控件:数值调节钮,以及一个形状控件:文本框。通过按动数值调节钮的上下箭头进行调节,使得文本框中切换显示需要统计的是“住房面积”或“总课时”。并将调节结果同步显示在H1单元格中。
在一个题目中可能使用到多个不同的控件,有表1中列出的表单控件,也有可能是“插入”选项组中的图表、形状和文本框等形状控件,下面介绍如何判别控件的种类。
2.1表单控件
对于表单控件,可以使用名字来进行判断,因为在创建控件的时候,系统会自动给控件起一个名字,这个名字是以控件类型开头的。如添加了一个复选框,系统自动起名为“Check Box 1”,添加一个列表框,系统自动起名为“List Box 2”。下面给出的代码是利用控件名称找到在Excel中添加的复选框控件。
不过控件的名称是可以在名称框中进行修改,除非在考题中注明了为该控件设置一个固定的名字,或不允许学生修改控件名称,否则就不能用控件名称的方法来查找控件。
控件对象有一个“Type”的属性,表示控件的类型,但对于表单控件来说类型是一样的,都是“msoForm-Control”。不过对于表单控件,还有一个“FormControlType”属性,表示表单控件的类型。下面给出利用FormControlType属性来找到例题中的数值调节钮控件的代码。
判断表单控件是否设置成功,主要是读取控件的ControlFormat成员属性,相关主要属性在表2中列出。
表2 ControlFormat成员主要属性
以图1例题为例,正确的设置方式为:先建立一个数值调节钮,然后在控件上单击鼠标右键,设置控件格式。其中最小值(Min)设置为1,最大值(Max)设置为2,步长(SmallChange)设置为1,单元格连接(LinkedCell)设置为I1。只需要读取相应的属性就可以判断考生是否设置正确了。
2.2开头控件的判断
在Excel中,除了有表单控件外,各种形状也是控件,可以用来进行标注,显示文字。如图1所示,图表右上的数值调节钮右侧就有一个文本框,这个文本框就是一个图形控件。表单控件的Type属性显示的都是msoFormControl,而每个图形控件都有自己的类型名,如文本框就是msoTextBox。下面的程序段显示了如何找到文本框。
文本框控件可以用于显示某单元格的内容,方法是先选中文本框,然后在公式栏中输入等号“=”,再输入要显示的单元格地址。如图1的例题中,要通过数值调节钮的调节,使得文本框中切换显示“住房面积”或“总课时”,正确的设置方法是在H1单元格中输入公式“=INDEX(H2:H3,I1)”,为文本框在公式栏输入“=H1”。
如果要判断考生是否设置正确,可以读取文本框的属性。形状控件的DrawingObject成员中包含了大部分重要的属性,如Formula属性表示在公式栏中输入的公式,Caption属性表示当前在文本框中显示的内容。对于本例来说只要判断DrawingObject.Formula属性中是否为H1即可。
在自动阅卷系统中,以前大部分都是根据结果来进行判断的。但对于Excel深层应用考试中不合适,因为在深层应用考试中数据都是动态的,如图1所示的例子,有可能显示的“住房面积”数据,但也可能显示的是“总课时”,所以本文给出了直接对控件的设置进行判断的方法,这种方法计算量小,而且更加准确。
由于控件的成员和属性非常的多,本文只列出了部分常用的属性。所给出的图1中的例子,如果要完整地进行判断,则还要对图形进行判断,由于本文讨论的是控件的评判,其他部分的评判可参阅参考文献。
[1]刘宇君.基于VBA的Excel操作题自动阅卷系统的设计与实现[J].洛阳师范学院学报,2014,33(8):67-72.
[2]刘凌波,刘苏淮.基于Excel深层应用的考试和阅卷系统[J].软件工程师,2015,18(3):3-5.
[3]周松.Visual FoxPro上机操作考试自动阅卷系统的设计与实现[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-),男,江苏南京人,硕士,副教授,研究方向为计算机软件开发与应用
2016-03-10
2016-06-10
Excel深度考核中由于数据是动态的,所以一般都会用到控件来进行动态数据的控制,控件的设置不能通过Excel阅卷系统中通常使用的读取单元格内容的方法来进行判断。经过对表单控件和形状控件的研究比较,找出控件评判的方法,并给出实现方法。
自动阅卷;Excel;VBA