Word操作考核自动评分系统

点赞:20396 浏览:93208 近期更新时间:2024-04-10 作者:网友分享原创网站原创

摘 要:为解决考查学生Word上机操作技能评分问题,设计了Word操作考核自动评分系统.系统功能包括自动评分、调用评分过程、自动显示操作结果、判断出错原因等.

关 键 词:自动评分;Word;Office;对象

中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)36-8313-02

目前的信息技术教学,要考查学生Word上机操作技能.如果完全采用教师人工批阅,不但效率低,而且还不能把操作正确与否的信息及时反馈给学生.通过Word操作考核自动评分系统对学生作业进行批量评价,并将学生的得分和失分情况进行统计,形成作业评分报表.同时学生可在操作Word文件结果时,利用评分按钮,调用评分过程,自动显示操作的结果,能够及时准确地对其操作进行评价,指出错误原因,解决教师在实训过程中对学生操作出现问题时的跟踪难题.

1技术基础

Office可以通过VBA的宏录制功能,分析Word文档中对象的文档、表格、单元格与文字等相关属性.通过认真细致的研究这些对象模型和属性,可以快速掌握对象属性的相关信息,以及对象的获取方法和数据类型,对于涉及到的Word对象还可以通过查询VBA的帮助文件,进一步具体深入了解对象的方法、属性,满足设计需求,并将这些信息应用于自动评分系统中.

Word对象模型中含有多个对象,经常设置的对象是文字、段落、表格、图形图像、页面等,自动评分系统主要是对这些对象和属性的操作判断.如Document对象表示引用的文档,ActiveDocument属性是引用处于活动状态的文档,Paragraph对象表示某一段落,Range对象引用文档中的某一连续区域,可以利用With等EndWith、If语句调用AtiveDocument.Paragraphs(索引号).Range对象来判断第几段文档中字体、字号、字型等属性的设置情况.Word中的图片对象有InlineShape和Shape两种,InlineShape为嵌入式的艺术字和嵌入式图片,Shape对象为文本框、自定义图形以及浮动型图片和浮动型艺术字.利用ForEach语句对文档中的图形图像进行循环判断操作,需要使用Shapes对象,每个Shape对象代表图形层中的一个对象,诸如自选图形、任意多边形、OLE对象或图片等,可以利用Shapes(index)返回单独的Shape对象.Shapes集合不包含InlineShape对象,艺术字对象被视为字符.如对某个艺术字的内容进行判断则可使用ActiveDocument.Content.InlineShape(1).TextEffet.Text调用艺术字的文字属性.利用PageSetup对象对文档页面进行左边距、下边距、纸张大小等属性设置判断.

2Word实现自动评分

为了使学生在操作过程中及时发现操作中出现的问题,教师通过教学软件统一发布Word操作文件,操作文件包括操作文字内容、要求以及评分过程.教师可通过录制宏命令录制操作过程,对过程进行修改,删除多余代码,添加判断语句.关键步骤算法如下:

1)进行逐条比对.

2)判断成功记分,fenshu等于fenshu+分值,进行下一条比对,不成功,chuowu等于chuowu+错误信息+“/n”,再进行下一条比对.

3)比对结束,则将分数和错误信息添加到文本框,展示给学生.

3自动评分系统的实现算法及部分代码

Word操作自动评分采用结果型评分,即不考虑操作过程,仅判断操作后的文档中涉及的Word对象的结果状态是否与试题要求一致,进而对操作评分.其中最关键的技术是打开相应试题文档、对试题相关的Word对象属性和方法进行提取和转换.

3.1声明全局变量:

PublicwenjianAsObject‘word文件对象

PublicfengshuAsInteger,linshiAsInteger,chuowuAsString‘计分和错误信息保存变量.

3.2创建计分过程

在excel中创建评分按钮,批量获取学生操作结果.首先,通过获取学生作业文件名,返回学生信息,统计学生作业文件数,循环打开学生文件,并调用评分过程,最终将每个学生的成绩和评分结果计入excel单元格中,评分结束后,释放对象,关闭word对象.

计分过程:Subjs()

DimDicAsObject,FN$,Arr,Arrt,Arrt2,Str2$,StrT$,N&,I&,T&,C%,D%,All&

FN等于Dir(ThisWorkbook.Path&"\*.doc")

DoWhileFN<>""'第一次循环用于计数文件数量

All等于All+1

FN等于Dir

Loop

Setwenjian等于CreateObject("word.application")

WithCreateObject("word.application")'创建word进程,用于操作word文档

.Visible等于False'隐藏操作

.AutomationSecurity等于msoAutomationSecurityForceDisable'打开文档时不启用宏

.DisplayAlerts等于False'关闭警告信息

ReDimArr(1ToAll+1,1To4)'定义输出的excel表格Arrt等于Split("序号,姓名,评分概要,总分",",")'分配表头对应信息

ForN等于LBound(Arrt)ToUBound(Arrt)'将表头信息写入结果数组

Arr(1,N+1)等于Arrt(N)


NextN

FN等于Dir(ThisWorkbook.Path&"\*.doc")'第二次循环,用于提取各个文件操作

T等于2'初始化数据写入结果数组的起始行数(第一次已被表头占用)

DoWhileFN<>""'当存在有效文件时循环提取

With.Documents.Open(ThisWorkbook.Path&"\"&FN)'打开文件

Callpf'调评分过程进行评分操作.

.CloseFalse'关闭文档(不保存)

EndWith

C等于InStr(1,FN,".",1)'取文件名准备,返回.出现的位置

Str2等于Left(FN,C-1)'取文件名.

Arr(T,1)等于T-1

Arr(T,2)等于Str2

Arr(T,3)等于chuowu

Arr(T,4)等于fengshu

FN等于Dir

T等于T+1

Loop

.AutomationSecurity等于msoAutomationSecurityByUI'设置打开word文档时询问是否启用宏状态

.Quit'退出word进

EndWith

With[a2].Resize(UBound(Arr),UBound(Arr,2))

.Value等于Arr'结果数组写入单元格区域中

WithIntersect(Rows(2)Cells)'设置标题行字体及颜色

.Font.Color等于vbRed

.Font.Bold等于True

EndWith

OnErrorResumeNext'设置容错

.SpecialCells(xlCellTypeBlanks)等于"未知"'空白单元格写入"未知"字样(如果没有空白单元格则会因上一句的容错而继续执行,避免了程序中断)

EndWith

Columns.AutoFit'列宽自适应

Cells.VerticalAlignment等于xlCenter'文字剧中显示

SetRegEx等于Nothing'清空创建的项目(下转第8320页)

(上接第8314页)

End'必需加end语句将word进程完全结束,否则第二次运行会出现远程怎么写作器不存在的错误提示.

EndSub

4结束语

对学生的作业利用评分系统,可通过在Word文档中添加评分按钮,当堂得出结论,学生根据反馈进行及时更正,同时学生通过教学软件将作业提交给老师,老师也可进行批量批改,形成评分报表,提高了工作效率.通过对本系统的改进和完善,可逐步实现Excel和PowerPoint的自动评分操作.