Word操作题自动阅卷方案

更新时间:2024-01-19 作者:用户投稿原创标记本站原创 点赞:3435 浏览:10236

摘 要:提出了利用VBA技术,使用VisualBasic进行程序设计,从Word文档中提取测试内容相关的属性与测试要求相比较,判断操作是否正确并增减分数,从而实现Word操作题的自动阅卷方案,并给出了部分算法.

关 键 词:VBA;自动阅卷;office;属性;评分

中图分类号:TP311.52文献标识码:A文章编号:16727800(2011)012005402

作者简介:付海涛(1976-),男,吉林长春人,吉林农业大学讲师,研究方向为计算机应用及计算机教育.

0引言

随着当今社会办公自动化程度的不断提高,计算机应用技能在教学与工作活动中成为不可或缺的技能之一.在高等农业院校教学活动中《大学计算机基础》已经成为公共课程之一,占有重要的地位.其中Word字处理软件,是主要教学重点,Word字处理软件的操作也是计算机技能考核的主要内容.

由于Word软件本身功能强大、内容丰富,加上软件操作类知识点并不适合使用传统的试卷形式进行考试,所以,多数考核部门选择让考生使用计算机完成操作类考试.那么如何准确、快速、高效地衡量被测试人员对Word的掌握程度,是教学人员亟待解决的问题.

本文主要论述了一种利用VBA技术,对考生提交的Word文件进行快速准确的进行阅卷的可行性方案.

1自动阅卷系统的思路分析

在考试过程中,操作题主要检查考生的实际应用能力.通常是给出一篇Word文档并提出若干要求,考生按照要求利用Word软件进行排版并保存为Word文档,之后提交所做的文件.阅卷人负责检查考生提交的文件并判断是否符合要求.

由于Word文件的结构并没有使用头加内容的存储方式,而是采用了对象数据流的方式进行存储,文件内部包含了主数据流、表数据流、非文本数据流、摘 要等信息,文件结构非常复杂.很难通过外部获取的方式获得可靠的数据结构.

实际上,Office是基于部件模型技术(COM技术)的软件,这使其具有了COM自动化的功能.事实上,Office中集成了标准宏语言(VBA)提供了访问Office文件的接口.以Word2003文件为例,其包含的表格、图片、页面、格式等等无一例外的都属于VBA对象,这就为在VBA程序中使用这些对象的属性和方法,实现自动化操作奠定了基础.

编写自动阅卷系统的思路就是:通过VBA编程调用Word2003文档中与题目相关的对象,提取其属性值.并将提取的结果与实际的要求做比对,从而精确的判断出考生的操作是否正确,并给出相应的成绩.

2自动阅卷系统的实现方法

自动阅卷系统的开发可以选用VB6.0(VisualBasic6.0)作为开发工具,VB6.0对于Office中的标准宏语言(VBA)有着良好的支持,具有面向对象、界面设计简单、开发速度快、易于调试等优点.具体方法如下:

(1)在VB6.0工程中引入“MicrosoftWord11.0ObjectLibrary”对象库,主要目的为在编程过程中查看该库的对象及其所有的属性和方法,实现快速引用对象和程序优化.在Office2000中该库为9.0版本,在Office97中版本为8.0.

(2)定义文档对象和应用程序对象,并打开相关文档.

DimApplicationWordAsWord.Application

DimDocumantWordAsWord.Document

SetApplicationWord等于NewWord.Application

SetDocumantWord等于ApplicationWord.Document.Open(“路径\文件名”)

(3)获取Word文档中的相关属性.

属性的获取是整个自动阅卷系统中最总要的信息,能否正确阅卷取决于能否取得相关的属性值.在Word2003中常用的对象包括有:页面格式――PageSetup、段落格式――Paragraphs、查找与替换――Find、表格格式――Tables、图片与绘图――Shapes、文本格式――Range等等.编程过程中可以通过这些对象获取其需要的属性,来做判断.例如:①获取页面上边距:Tmargin等于PageSetup.TopMargin;②获取第一段文字的颜色:Ctext等于Paragraphs(1).Font.Color;③获取表格的行数:Rcount等于DocumantWord.Tables(1).Rows.Count.将属性取出后,与正确的值做比较判断据此可以得出考生操作的结果是否正确,从而进行成绩的增减,并最终给出分数.设置纸张左边距为2cm的评分(1cm约等于28.35磅)示例程序如下:

IfDocumantWord.PageSetup.LeftMargin<>56.7Then'左边距判断

etext等于etext+“左边距设置错误.”给出错误信息

score等于score-10'扣除相应分值

EndIf

(4)关闭文档并释放对象.

DocumantWord.Close

ApplicationWord.Quit

SetApplicationWord等于Nothing

SetDocumantWord等于Nothing

3操作评分的实现

例如:要求将Word文件进行下列设置(1cm约等于28.35磅).①将纸张左边距设置为:2cm,纸型设置为:B5;②将标题文字设置为:隶书、一号字;③将第二段文字设置为:左缩进3cm;④将文档中原有的4行*6列的表格任意删除一行和一列.

操作评分的相关程序如下:

score等于100'满分成绩

'设置纸张左边距及纸型的评分

IfDocumantWord.PageSetup.LeftMargin<>56.7Then'左边距10分

etext等于etext+“左边距设置错误.”'给出错误信息

score等于score-10'扣除相应分值

EndIf

PageH等于DocumantWord.PageSetup.PageHeight

PageW等于DocumantWord.PageSetup.PageWidth

IfPageH<>708.75OrPageW<>498.96Then'纸型20分

etext等于etext+“纸型设置错误.”

score等于score-20

EndIf

'设置标题文字的评分

IfDocumantWord.Paragraphs(1).Range.Font.Size<>26Then'文字大小10分

etext等于etext+“标题文字大小设置不正确.”

score等于score-10

EndIf

IfDocumantWord.Paragraphs(1).Range.Font.NameFarEast<>“隶书”Then'文字字体10分

etext等于etext+“标题文字字体设置不正确.”

score等于score-10

EndIf

'设置左缩进的评分

IfDocumantWord.Paragraphs(2).Format.LeftIndent<>85.05Then'左缩进20分

etext等于etext+“左缩进设置不正确.”

score等于score-20

EndIf

'插入表格的评分

Rcount等于DocumantWord.Tables(1).Rows.Count'表格行数

Ccount等于DocumantWord.Tables(1).Columns.Count'表格列数

IfRcount<>3OrCcount<>5Then'插入表格30分

etext等于etext+“表格设置不正确.”

score等于score-30

EndIf

4结束语

本文所述的自动阅卷方案,利用VBA技术,实现了快速评阅Word2003操作题的目的.本方法同样可以引申至对其他Office文件的自动评阅.

作者使用该方法结合网络与数据库技术,制作了自动阅卷系统,并将这一方案应用在吉林农业大学《大学计算机基础》课程的操作类考试过程中.几年来应试人数达到千余人,实践表明使用本方法编写的自动阅卷系统性能稳定、阅卷速度快、准确率高,取得了良好的效果.参考文献:

[1]廖恩扬.面向对象对Office文档操作自动评分[J].计算机应用,2002(8).

[2][美]DFSCOOT.Office2000开发指南[M].余江林,詹晓军,译.北京:中国水利水电出版社,2000.

[3]李淑华.VB程序设计及应用[M].北京:高等教育出版社,2004.

(责任编辑:杜能钢)AWordoperatedSchemeofAutomaticMarking

Abstract:ProposedtouseVBAtechnology,extractedrelatedattributeromWorddocumentandparedwithexaminationrequirements,thusrealizeautomaticmarkingscheme,andgivespartofthealgorithm.

KeyWords:VBA,AutomaticMarking,Office,Property,Grade