Word2010插件的开发与实现

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Word2010插件的开发与实现

摘要:利用VB6.0开发了一个实用的Word2010插件,可以用于增强Word2010的文档打印格式检查、数学运算、函数图形显示等功能。详细介绍了Word2010插件的开发原理及其功能的实现原理。结合实例,给出了该插件功能实现的具体流程和算法。论文介绍的插件开发技术对于Office和其他应用软件的二次开发具有较好的使用参考价值,并且对办公自动化能力的提高具有很好的现实意义。

关键词:VB6.0;Word2010插件;算法;二次开发

中图分类号:TP11文献标识码:A

0 引言

Microsoft 公司每隔几年都会推出一款新的Office软件,Office软件中以Word的应用最为普遍。然而在使用Word的过程中,大量用户提出打印时因文档格式不正确而出现大量纸张浪费,并且不能进行数学运算和图形显示,使得他们往往寻求第二方软件来辅助完成目标。

随着插件技术的迅速发展,使用Delphi、VC、VB等软件开发工具进行插件开发已变得比较容易。开发插件的主要好处在于插件结构具有良好的扩充和定制功能以及很容易将插件作为功能模块挂接到主程序上面[1]。本文从基于VB6.0开发平台的Word2010插件制作的基本原理入手,详细介绍了该插件的整个开发工作。

1 Word2010插件制作的基本原理

Microsoft Office 2010中支持COM加载项(COM Add-In)功能,通过编写COM组件很容易实现将自己的软件集成在Office系列产品中。基于此原理,利用VB6.0制作了一个COM组件,然后借助VB6.0自带的软件打包工具进行打包,最后通过编写系统注册代码很好的实现了与Word2010的接口。插件开发流程如图1所示。

1.1 COM加载项的实现

COM(Component Object Model,组件对象模型)是一种以组件为发布单元的对象模型,它使各软件组件可以用一种统一的方式进行交互。COM既提供了组件之间进行交互的规范,也提供了实现交互的环境,它也可以是不同语言协作开发的一种标准[2]。

COM加载项的生成主要有三种方式:一是使用Microsoft Office 2010 Developer 或Microsoft Office XP Developer的COM 加载项in.vbp 模板;二是使用VB6.0加载项设计器;三是使用IDTExensibility 2接口[3]。由于生成COM加载项的第三种方式允许将其直接插入

到Office所有的应用软件中,本文采用此方式来制作COM加载项。具体实现步骤:(1)打开VB6.0,新建ActiveX DLL工程;(2)单击工程菜单下的引用按钮,在出现的引用列表对话框中选择Microsoft Add-in Designer,Microsoft Office 14.0 Object Library,Microsoft Word 14.0 Object Library;(3)编制程序。COM加载项制作流程如图2所示。

图2 COM加载项制作流程

1.2 程序打包

为了使COM加载项能在其它电脑上使用,需要对其进行打包。程序打包的实现方式主要有两种:一是使用专用安装程序制作工具Setup Factory ;二是使用VB6.0自带的打包工具。在此直接采用VB6.0环境下的外接程序功能模块实行打包。

1.3 系统注册

注册表文件是Windows系统配置和应用软件的注册文件,为隐含、只读文件,它存储着操作系统的全部信息[4]。注册表在结构和功能上允许对硬件、系统参数、应用程序和设备驱动程序进行跟踪配置,使得修改某些设置后不用重新启动计算机;它是连接操作系统和硬件、驱动程序的数据库,也是操作系统与应用程序关联的数据库;它还保存包括默认数据、附属文件的位置、菜单、工具栏、窗口状态以及其他选项的信息[5]。

采用IDTExensibility 2接口方式生成的COM加载项,就需要完成相应的系统注册才能使用。一般的系统注册方式有三种:一是手动注册;二是采用API函数注册;三是使用reg 文件注册。当要求把该插件移植到不同的电脑上使用时,手动注册是不可取的。API函数注册要求在程序中声明、调用API函数,定义相关的键常量以及编写相应的事件代码,安装时自动化和人机交互效果比较好,但程序代码过多,过程显得比较复杂。在本插件的制作中,针对Office的Word 2010产品,直接采用简单的reg文件注册。

2 Word2010插件功能的实现

2.1 文档打印核查功能的实现

日常生活中,不同场合对Word2010文档格式的要求一般不同,并且不同的环境都规定有特定的文档格式。当一个文档的容量比较大,并且对文档格式要求比较严格时,打印过程中就很难做到打印出来的文档全部符合预定要求,需要反复对原文档进行排版,既浪费了时间,又浪费了纸张,因此添加了此插件的文档打印核查功能。

该插件能对页码、文档正文内容、页边距、页眉页脚的正确性进行很好的自动检查。并且自动对不符合要求的选项给予提示,达到了提高办公效率的目的。页眉内容自动检查界面如图3(a)所示。

文档打印核查功能的实现原理:Word2010主程序与文档打印核查功能模块的链接借助IDTExensibility 2接口(函数)来实现。当Word2010被打开时,此接口将自动加载插件(前提是该插件已完成注册),而当用户操作该功能模块时,同样通过此接口与Word2010主程序建立链接,从而实现了文档打印核查功能。文档打印核查原理结构如图4所示。

2.2 数学运算功能的实现

用户编辑文档时,时常会遇到数学运算方面的需求,由于Word2010自身不具有数学运算功能,往往寻求其它数学运算工具来辅助完成目标。常用的数学运算工具主要有两类:一种是带有数学运算功能的大型软件(例如Matlab 等),另一种是基于软件开发工具(VC 、VB 等)制作的专用数学运算器。以上两类数学运算工具运行过程中都将占用大量系统资源,并且独立于Word2010而存在,所以造成了系统资源的浪费和带来了用户操作上的不便。对于工程技术人员,在分析实际问题时,经常要对函数进行微积分和极限运算。针对这此问题,现基于微积分数值求解原理建立求解算法,并将数学运算中常用函数的微积分、极限的求解模块嵌入到插件中,以解决用户对第二方数学运算工具的依赖。

此插件的开发过程中,对积分运算功能的实现采用的是Romberg 算法[6],下面结合函数

x x y 2ln =在定义域为x ∈(2,4)上的积分对插件的数学运算功能的实现原理进行说明,积

页码格式核查正文内容格式核查

Word2003主程序

图3(a) 页眉内容自动检查 图3(b) 积分运算结果 图3(c) 图形显示结果

相关文档
最新文档