夏芸
摘要:文中使用Visual Basic 6.0和Word VBA设计了一个Word 2010的插件,该插件是对Word 2010文档中程序代码行作修饰,为选定的代码行文本添加编号、底纹,并为编号和程序代码之间添加边框线。文中对插件的设计和实现进行了描述。该插件具有一定的实用价值。
关键词:程序代码;Word 2010;插件;VBA
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)07-0144-04
Abstract: A Word 2010 plug-in is designed in this paper ,and the plug-in is developed using Visual Basic 6.0 and Word VBA.This plug-in is used to modify the lines of program code in Word 2010, it can add the line number and shading for the selected text of code lines, and it can add a border line between the line numbers and program codes. It is described in this paper how to design and realize the plug-in. The plug-in has some practical value.
Key words: program code; Word 2010; plug-in; VBA
计算机专业的教师、学生或者程序设计爱好者在使用Microsoft Word 编写教材或文章时,可能经常的在文中插入大段的代码行,有时为了描述清晰准确,需要对这些代码行段落进行编号、设置底纹等操作,设置的效果如图1所示。为了完成这样的效果,用户需要在Word中进行多步操作。为了提高文档的编辑效率,可以通过插件来实现操作简单化这样的目的。
开发插件的主要好处在于插件结构具有良好的扩充和定制功能以及很容易将插件作为功能模块挂接到主程序上面[1]。文中采用VB6.0为开发平台,开发了一个适用于Word 2010版本的插件,用户只需在Word 2010的“COM 加载项”中添加该插件即可。插件添加成功后,如果用户需要对程序代码行做如同图1这样的修饰,只需选定代码行所在段落,单击新增加的选项卡“程序代码修饰”中的按钮即可完成,从而实现多个操作步骤一次性完成。本文主要就是介绍这个插件是如何设计和制作的。
2 插件的设计
本文所设计的插件就是在Word 2010功能区中创建一个“程序代码修饰”选项卡,在该选项卡中设置名为“自定义组”选项组,并在该组中设置一个命令按钮,该按钮显示的名称是“添加行号、分割线和底纹”。该命令按钮所对应的功能就是给用户所选定的程序代码段落行的文本添加行号、边框线和底纹。
命令按钮的功能实现算法具体描述如下:
Step 1:将选定的代码行文本转换为表格,表格的列数为1;
Step 2:在当前表格左侧插入1列;
Step 3:在表格第一列依次填入行号
Step 4:给表格设置边框
Step 5:给表格设置底纹
3 插件的实现
COM 加载项是扩展 Microsoft Office 程序的功能的补充程序,它是通过添加自定义命令和指定的功能来完成。文中使用VB6.0通过创建外接程序项目完成COM加载项的设计。
3.1 使用VB6.0创建外接程序工程并添加引用
使用VB6.0企业版创建新的“外接程序”工程,将此工程命名为“RibbonVB”,删除此工程中自带的窗体文件,将“Connect”设计器保留。再选择“工程”菜单中的“引用”菜单项,在出现的“引用”对话框中添加如下的两个引用:“Microsoft Office 14.0 Object Library”和“Microsoft Word 14.0 Object Library”。再双击 “Connect”设计器,按图2设置“Connect”设计器的属性值,其中外接程序显示名称是指在Word 2010的“COM 加载项”对话框中出现的插件名称。
3.5 命令按钮的功能实现
命令按钮功能的实现是用方法CodeXS来实现的,具体的实现就是按文中的“2 插件的设计”中所提到的算法步骤完成的。在实现时首先将屏幕更新功能关闭,即oWD.ScreenUpdating = False,因为该方法中的操作实际上是对Word文档进行多步操作,诸如转换表格、添加列等,当关闭屏幕更新后,这些操作不会在屏幕上进行显示,从而可以加快代码的运行速度。当全部操作结束后再打开屏幕更新,即代码为oWD.ScreenUpdating = True。此外,因为程序中使用关闭屏幕更新操作,因此,需要使用刷新屏幕oWD.ScreenRefresh这个方法显示操作后的结果。
为了实现添加编号这个功能,程序在设计时使用的是循环编程,依次将循环变量i(i=1,…,表格的行数)填入表格的第i行第1列的单元格中。表格边框设置在编程时所采用的设计思想是先将整个表格设置为无边框的表格,再用循环实现为该表格中第i行第1列单元格右侧添加边框线,其中i=1,…,表格的行数。
3.6 生成dll文件并安装插件
在VB6.0企业版中首先保存该工程,再选择“文件”菜单中的“生成RibbonVB.dll”菜单项,这样就可以在工程文件夹中生成名为“RibbonVB.dll”的动态链接库文件。一旦生成了这个动态链接库文件后用户就可以打开Word 2010,在“开发工具”选项卡的“加载项”选项组中单击“COM加载项”命令按钮,在出现的图4所示的“COM加载项”对话框中选择“添加…”按钮,在出现的文件对话框中正确的选择文件“RibbonVB.dll”并确定。这时在Word 2010的功能区中就会出现图3所示的“程序代码修饰”选项卡,用户就可以正常使用这个插件所提供的功能。
4 结束语
本文详细介绍了Word 2010插件的设计方法和具体的实现,文中所设计的插件可以快速地实现给指定的程序代码行文本添加编号、底纹和边框线这样的操作,具有一定的应用价值。本文也可以作为WORD VBA教学的一个良好的教学项目。
参考文献:
[1] 周威.VB插件的原理和应用[J].中文信息,2003(10):44-45.
[2] 陈文宇,胡英春,侯军燕. Word 2010插件的开发与实现[J].广西工学院学报,2010(6).
[3] 解必华,奚玉梅. 基于VB的Excel打印插件设计及实现[J].电脑知识与技术,2011,7(6):1343-1345.
[4] 罗刚君,杨嘉恺.来吧!带你玩转Excel VBA[M].北京:电子工业出版社,2013.
[5] 裴纯礼.Word教育教学高级应用[M].北京:北京邮电大学出版社,2013.