基于VBA技术的Office2003操作题自动阅卷设计与实现
2011-11-20高升宇
高升宇
(渭南师范学院数学与信息科学学院,陕西渭南714000)
基于VBA技术的Office2003操作题自动阅卷设计与实现
高升宇
(渭南师范学院数学与信息科学学院,陕西渭南714000)
针对计算机基础教学中Office2003套件的操作题考核问题,应用微软Office2003套件中嵌入的VBA技术,通过VBA编程实现对考生答案文档中各种对象的属性读取与识别,并将其值与标准答案文档中对象的属性进行比对,快速给出成绩,达到提高教学工作效率的目的.
计算机基础教学;操作题;VBA;效率
在基于校园网的《大学计算机基础》网络教学环境中[1],除了提供丰富的教学内容外,还必须提供较完善的在线考核机制.在线考试试题类型分为客观题和主观题两大类,客观题一般有单项选择、多项选择和计算题等,利用数据库技术就可较方便地实现客观题的自动化阅卷;主观题可分为简答题和操作题两种:对于简答题的阅卷要用到专家系统、人工智能、语义分析等技术[2],不在本文讨论范围;对于操作题,由于微软在Office2003套件中嵌入了VBA技术,为其各种文档的自动化提供了强有力的支持,利用VBA进行编程,通过对考生的操作结果文档进行识别即可达到自动阅卷的目的.
1 实现操作题自动阅卷的关键技术
操作题的阅卷首先是对操作结果文档的识别,Office2003套件中对于文档采用对象数据流的方式进行存放,所以不能直接读出文档的细节及格式,但微软在Office2003中嵌入了VBA(Visual Basic for Application),它是一种完全面向对象的标准宏编程语言,其程序的运行必须依赖于宿主的文档环境,因此在VBA中提供了访问Office2003文档对象的接口,通过VBA程序可以控制、识别Office2003文档中不同对象的结构、内容及格式[3].
VBA标准宏语言具有跨越多种应用软件并且控制应用软件对象的能力,具有很好的易用性.VBA的语法类似VB(Visual Basic),它提供了很多VB中没有的函数和对象,这些函数、对象都是针对Office2003应用的.Office2003的每个文档都是由多个对象组成(本文以Word2003文档为例进行讨论),如图1所示的Word2003文档模型结构.在Word中用户操作的任何东西都是一个对象,每个对象都有它自己的属性,而这些对象属性的值决定了文档的结构和格式,通过读取文档中的各个对象的属性值,即可判定用户操作的结果准确与否.
在图1所示的Word文档对象模型中,Application表示Word应用程序,Documents属性表示所有Document对象(一个Document对象对应一个Word文档)的集合,Paragraphs属性表示文档中所有Paragraph对象(每个Paragraph对象代表一个段落)的集合,Shapes属性表示文档中所有Shape对象(每个Shape代表一个图片)的集合,Tables属性表示文档中所有Table对象(每个Table代表一个表格)的集合,Range对象表示引用文档中一段连续的文本部分,Selections属性表示在文档中Selection对象(Selection表示当前已选择的区域)的集合,另外还有书签Bookmark对象、子文档Subdocument对象等等[4-5],所有对象均可以通过VBA程序实现访问.
图1 Word2003文档对象模型及其关系
2 应用实例
Word操作题一般涉及的操作内容主要有字体设置、段落格式排版、表格制作、图片设置等一系列操作,其操作结果以Word文档(.doc)形式存在.现有下列图2所示的Word机试操作题,其题目要求主要有:(1)标题居中、字体设置为黑体、字体大小设置为四号,3分;(2)正文第一段首字下沉3行、字体设置为华文行楷,2分;(3)“物华天宝、人杰地灵”字体设置为仿宋_GB2312、加下划线(线型为单线),3分;(4)“经世致用、和而不同”字体设置为宋体、加粗、位置提升3磅,3分;(5)“天天奋斗、天天快乐”字体设置为楷体、加粗、文字加底纹(15%),3分;(6)表格为2行5列,表格中的数字字体设置为Arial Rounded MT Bold、每个单元格数据居中,2分;(7)图片四周环绕,2分.本题省略对页面设置、段落缩进、段前段后间距、行距、字体颜色、图片尺寸及图片类型等文档对象属性的识别.
图2 Word题目样式
阅卷程序的部分代码如下:
3 结论
针对图2所示的Word操作题要求,通过使用上述代码实现了自动阅卷,提高了计算机基础教学中上机实验考核的工作效率,摒弃了以前对操作题采用人工阅卷的方式,也消除了人工阅卷的人为因素,使考核评价进一步客观、公平、合理.用上述思路和技术也可实现对Excel、PowerPoint和Access等操作题的自动化阅卷.
[1]高升宇,付霞,雷建平.渭南师范学院网络教学系统设计与实现[J].渭南师范学院学报,2006,(5):37-38.
[2]张小艳.基于自然语言的主观题自动阅卷技术[J].西北大学学报(自然科学网络版),2005,(8):1-2.
[3]朱江,谢深泉.考试系统中Word操作题自动阅卷的实现[J].湘潭大学自然科学学报,2002,(9):49-50.
[4]闫薇,尹心平.VBA技术在计算机基础考试系统设计中的应用[J].齐齐哈尔大学学报,2006,(5):59-61.
[5]邢薇,王鑫,王艳,等.考试系统中WORD文档的图片类对象自动阅卷的实现[J].信息技术,2008,(1):65-68.
Design and Implementation of Automatic Office2003 Operation Scoring Based on VBA Technology
GAO Sheng-yu
(School of Mathematics and Information Science,Weinan Teachers University,Weinan 714000,China)
VBA technology embedded in the Microsoft Office2003 suite is applied for the assessment on the operation questions of the Office2003 suite during the computer basic education.By VBA programming,the attributes of the examinees’answer files are read and recognized,and then the attributes are to be contrasted with the ones of the standard answers to get the final scores with high teaching and working efficiency.
computer basic teaching;operation questions;VBA;efficiency
TP317.1
A
1009—5128(2011)12—0064—04
2011—05—26
渭南师范学院精品课程《大学计算机基础》
高升宇(1954—),男,陕西眉县人,渭南师范学院数学与信息科学学院高级工程师.研究方向:管理信息系统研发、自然语言理解及其应用.
[责任编辑 马小侠]