APP下载

基于VSTO的Office操作技能自动评测方法

2009-01-15吴新刚

中国教育技术装备 2009年33期

吴新刚

摘要 在实践的基础上提出利用VSTO实现Office操作技能水平自动评测的方法,给出Office操作题的存储结构和具体的评测方案与算法实现。

关键词 Office;自动评测;VSTO

中图分类号:TP317.1 文献标识码:B 文章编号:1671-489X(2009)33-0077-02

Automatic Evaluating Method for Office Operating Skills based on VSTO//Wu Xingang

Abstract In practice, it provides a new automatic evaluating method for office operating skills based on VSTO; gives the storage structure and specific programs and algorithms.

Key words Office; automatic evaluating; VSTO

Authors address Dept. of Education Technology, Nanjing Normal University, Nanjing, 210097, China

1 VSTO简介

长期以来,Office解决方案的开发都是使用VBA(Visual Basic for Applications)和ActiveX,但是由于它们在用户界面、部署和安全性等方面的限制,Microsoft公司提出新的开发技术:基于.NET Framework的VSTO。VSTO是Visual Studio Tools for the Microsoft Office System的缩写。简单地说,VSTO就是将Microsoft Office Professional 2003和Microsoft Visual Studio.NET结合起来的新型工具,也可以说VSTO是VBA技术的.NET平台化。VSTO是Visual Studio.NET的一个插件,使用Visual Studio.NET的开发环境,这使得VB.NET或C#的开发人员可以在其熟悉的编程环境下编写基于Office的解决方案。VSTO运行的是由CLR管理的托管代码,同VBA管理的非托管代码比较,VSTO的解决方案具有更高的安全性和更丰富的部署模式。VSTO让程序设计者可以用Visual Studio来定制Office应用程序,可以使用.NET Framework的所有安全特性。总之,VSTO就是一个强大的、灵活的安全模型。

2 Office操作题存储结构设计

Office操作题的存储结构是整个自动评测方法的基础,是对技能水平自动评分的关键。本方案中的存储结构(以Excel为例)如表1所示。

考点的描述采用“标记名|考核点”的格式,在每个Excel考题中要求进行操作的位置,事先已利用VSTO的SmartTag在初始化文档和答案文档中都设置一个名称相同的隐藏智能标记,这些智能标记是在出题时由出题人员设定的。Excel文档的操作对象主要为单个单元格/单元格区域、行、列、边框、底纹、字体、图表、工作表图表。以字体为例,其考核的知识点包含字体、字号、加粗、倾斜、下标、上标、删除线、下划线、阴影、颜色。

3 基于VSTO的自动评测方案

同利用VBA创建Office解决方案相比,基于VSTO的Office解决方案显得更加快捷和安全。首先,VSTO提供的编程模型扩展了Word和Excel的一些公共对象,这些对象已具备数据绑定的能力。VSTO编程模型背后的理念是把数据及其表现形式分离开来,不用在文档里查找显示这些数据的对象,就可以直接访问存储在数据源里的数据。VSTO提供的数据缓存功能无需在服务器上运行Word和Excel,就可以直接访问文档里的数据。其次,在VSTO中为Word和Excel创建智能标记更简单,使用提供的SmartTag类可以通过指定要识别的术语(term)和识别出来术语时要执行的操作(action)。在安全和部署方面,VSTO使用.NET Framework的代码访问安全功能(Code Access Security,CAS),通过诸如代码的位置、代码是否经过签名以及管理员所设置的权限等标准来判断代码是否安全。下面以Excel操作题的自动评测为例,给出利用VSTO的自动评测方案。

3.1 命题流程设计如图1、图2所示,为了实现自动评测,出题人员需根据题目要求将相应的标准答案文档(doc、xls)上传至数据库中。在出题的过程中出题人员可以选择考核的知识点,操作类函数将根据出题人员选定的考核知识点,在初始化文档和答案文档中设置一个名称相同的智能标记,该标记是评测的依据。

3.2 评测流程设计如图3所示,1)根据试题号,读取“标记名|考核点”信息;2)调用相应类的方法,依据“标记名|考核点”,在考生作答文件的智能标记位置获取对象模型及其属性值;3)按照每个考核知识点将考生文件与标准答案文件逐一比较;4)标准文档和考生作答文档中考核对象的属性若相同,则记该考核项相应分值,若不同,则记0分。

参考文献

[1]杨杰.VSTO-.NET平台下崭新的MS Office开发技术[J].黑龙江科技信息,2008(02):40

[2]McGrath K,Stubbs P.VSTO开发者指南[M].李永伦,译.北京:机械工业出版社,2009

[3]刘廷,刘帆.ASP.NET开发实例完全剖析[M].北京:中国电力出版社,2006

[4]赵玉.基于ASP.NET的在线考试系统的设计与实现[D].长春:东北师范大学,2007