夏蕓
摘要:文中使用Visual Basic 6.0和Word VBA設(shè)計了一個Word 2010的插件,該插件是對Word 2010文檔中程序代碼行作修飾,為選定的代碼行文本添加編號、底紋,并為編號和程序代碼之間添加邊框線。文中對插件的設(shè)計和實現(xiàn)進行了描述。該插件具有一定的實用價值。
關(guān)鍵詞:程序代碼;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
計算機專業(yè)的教師、學(xué)生或者程序設(shè)計愛好者在使用Microsoft Word 編寫教材或文章時,可能經(jīng)常的在文中插入大段的代碼行,有時為了描述清晰準確,需要對這些代碼行段落進行編號、設(shè)置底紋等操作,設(shè)置的效果如圖1所示。為了完成這樣的效果,用戶需要在Word中進行多步操作。為了提高文檔的編輯效率,可以通過插件來實現(xiàn)操作簡單化這樣的目的。
開發(fā)插件的主要好處在于插件結(jié)構(gòu)具有良好的擴充和定制功能以及很容易將插件作為功能模塊掛接到主程序上面[1]。文中采用VB6.0為開發(fā)平臺,開發(fā)了一個適用于Word 2010版本的插件,用戶只需在Word 2010的“COM 加載項”中添加該插件即可。插件添加成功后,如果用戶需要對程序代碼行做如同圖1這樣的修飾,只需選定代碼行所在段落,單擊新增加的選項卡“程序代碼修飾”中的按鈕即可完成,從而實現(xiàn)多個操作步驟一次性完成。本文主要就是介紹這個插件是如何設(shè)計和制作的。
2 插件的設(shè)計
本文所設(shè)計的插件就是在Word 2010功能區(qū)中創(chuàng)建一個“程序代碼修飾”選項卡,在該選項卡中設(shè)置名為“自定義組”選項組,并在該組中設(shè)置一個命令按鈕,該按鈕顯示的名稱是“添加行號、分割線和底紋”。該命令按鈕所對應(yīng)的功能就是給用戶所選定的程序代碼段落行的文本添加行號、邊框線和底紋。
命令按鈕的功能實現(xiàn)算法具體描述如下:
Step 1:將選定的代碼行文本轉(zhuǎn)換為表格,表格的列數(shù)為1;
Step 2:在當前表格左側(cè)插入1列;
Step 3:在表格第一列依次填入行號
Step 4:給表格設(shè)置邊框
Step 5:給表格設(shè)置底紋
3 插件的實現(xiàn)
COM 加載項是擴展 Microsoft Office 程序的功能的補充程序,它是通過添加自定義命令和指定的功能來完成。文中使用VB6.0通過創(chuàng)建外接程序項目完成COM加載項的設(shè)計。
3.1 使用VB6.0創(chuàng)建外接程序工程并添加引用
使用VB6.0企業(yè)版創(chuàng)建新的“外接程序”工程,將此工程命名為“RibbonVB”,刪除此工程中自帶的窗體文件,將“Connect”設(shè)計器保留。再選擇“工程”菜單中的“引用”菜單項,在出現(xiàn)的“引用”對話框中添加如下的兩個引用:“Microsoft Office 14.0 Object Library”和“Microsoft Word 14.0 Object Library”。再雙擊 “Connect”設(shè)計器,按圖2設(shè)置“Connect”設(shè)計器的屬性值,其中外接程序顯示名稱是指在Word 2010的“COM 加載項”對話框中出現(xiàn)的插件名稱。
3.5 命令按鈕的功能實現(xiàn)
命令按鈕功能的實現(xiàn)是用方法CodeXS來實現(xiàn)的,具體的實現(xiàn)就是按文中的“2 插件的設(shè)計”中所提到的算法步驟完成的。在實現(xiàn)時首先將屏幕更新功能關(guān)閉,即oWD.ScreenUpdating = False,因為該方法中的操作實際上是對Word文檔進行多步操作,諸如轉(zhuǎn)換表格、添加列等,當關(guān)閉屏幕更新后,這些操作不會在屏幕上進行顯示,從而可以加快代碼的運行速度。當全部操作結(jié)束后再打開屏幕更新,即代碼為oWD.ScreenUpdating = True。此外,因為程序中使用關(guān)閉屏幕更新操作,因此,需要使用刷新屏幕oWD.ScreenRefresh這個方法顯示操作后的結(jié)果。
為了實現(xiàn)添加編號這個功能,程序在設(shè)計時使用的是循環(huán)編程,依次將循環(huán)變量i(i=1,…,表格的行數(shù))填入表格的第i行第1列的單元格中。表格邊框設(shè)置在編程時所采用的設(shè)計思想是先將整個表格設(shè)置為無邊框的表格,再用循環(huán)實現(xiàn)為該表格中第i行第1列單元格右側(cè)添加邊框線,其中i=1,…,表格的行數(shù)。
3.6 生成dll文件并安裝插件
在VB6.0企業(yè)版中首先保存該工程,再選擇“文件”菜單中的“生成RibbonVB.dll”菜單項,這樣就可以在工程文件夾中生成名為“RibbonVB.dll”的動態(tài)鏈接庫文件。一旦生成了這個動態(tài)鏈接庫文件后用戶就可以打開Word 2010,在“開發(fā)工具”選項卡的“加載項”選項組中單擊“COM加載項”命令按鈕,在出現(xiàn)的圖4所示的“COM加載項”對話框中選擇“添加…”按鈕,在出現(xiàn)的文件對話框中正確的選擇文件“RibbonVB.dll”并確定。這時在Word 2010的功能區(qū)中就會出現(xiàn)圖3所示的“程序代碼修飾”選項卡,用戶就可以正常使用這個插件所提供的功能。
4 結(jié)束語
本文詳細介紹了Word 2010插件的設(shè)計方法和具體的實現(xiàn),文中所設(shè)計的插件可以快速地實現(xiàn)給指定的程序代碼行文本添加編號、底紋和邊框線這樣的操作,具有一定的應(yīng)用價值。本文也可以作為WORD VBA教學(xué)的一個良好的教學(xué)項目。
參考文獻:
[1] 周威.VB插件的原理和應(yīng)用[J].中文信息,2003(10):44-45.
[2] 陳文宇,胡英春,侯軍燕. Word 2010插件的開發(fā)與實現(xiàn)[J].廣西工學(xué)院學(xué)報,2010(6).
[3] 解必華,奚玉梅. 基于VB的Excel打印插件設(shè)計及實現(xiàn)[J].電腦知識與技術(shù),2011,7(6):1343-1345.
[4] 羅剛君,楊嘉愷.來吧!帶你玩轉(zhuǎn)Excel VBA[M].北京:電子工業(yè)出版社,2013.
[5] 裴純禮.Word教育教學(xué)高級應(yīng)用[M].北京:北京郵電大學(xué)出版社,2013.