基于规则的Excel自动阅卷软件的设计与实现

时间:2022-10-30 10:09:37

基于规则的Excel自动阅卷软件的设计与实现

摘要: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

上一篇:镜子里的“一个人” 下一篇:家长家庭教育技能培养常规化研究