国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在Word中嵌入應用程序

2019-11-18 17:49:42
字體:
來源:轉載
供稿:網友
MicrosoftWord以其強大的文字處理能力、靈活多變的排版方法、所見即所得以及友好的用戶界面等特點,博得了廣大用戶的肯定。但是,若能將其他一些功能,如機器翻譯、中文校對、全文檢索、實時語音合成等嵌入其中,則可以擴展Word的功能,使開發者能夠更加充分地利用Word資源,加快開發速度。
  開發Word應用程序常用的有以下幾種編程語言:WordBasic、VBA(VisualBasicforapplications)和WordAPI。 盡管WordBasic和VBA功能強大,但作為簡單修改Word的工具,多少有些大材小用。筆者認為,WordAPI是開發Word應用程序的首選工具,尤其是可以利用C語言代碼的快速、高效和靈活的特點,而且可以使用WordBasic接口函數和Windows動態連接庫編程環境,實現對Word功能的添加。
  WordAPI的使用方法
  WordAPI生成的是一個可在Word中直接運行的Word加載項,它是一個以WLL為擴展文件名的單機動態連接庫。這種WLL是標準的Windows動態連接庫的特殊形式。可以用任何一個創建WindowsDLL的環境來編譯、鏈接和建立WLL。
  MicrosoftWordDeveloper'sKit(MSWord開發工具箱)中,提供了WordAPI的接口函數,下面分別加以介紹。
  1.Word加載項的啟動和卸載函數
  (1)voidFARPASCALwdAutoOpen(shortDocID)
  在Word中加載WLL的同時,Word會自動執行這個函數。在執行過程中,函數wdAutoOpen完成以下幾個任務:
  ·向Word登記WLL中定義的所有函數;
  ·將WLL中的操作命令添加到Word的主菜單、快捷菜單和工具條中;
  ·給WLL的操作命令指定快捷鍵;
  ·完成WLL功能的初始化(如:機器翻譯、中文校對的詞庫讀入等)。
  (2)voidFARPASCALwdAutoRemove(void)
  當WLL被卸載時,如果WLL程序中定義了wdAutoRemove(void)函數,Word將在卸載時執行這個函數。在該函數中,可以保存退出時我們定義功能函數生成的必要數據。
  2.Word加載項中的登記函數
  要想讓Word中的某個主菜單項、快捷菜單項、工具條按鈕或快捷鍵完成我們定義的某個函數,就必須在加載WLL時,先向Word登記我們的應用函數。WordAPI的接口函數CAPIRigister可以完成登記任務。該函數定義形式如下:
  shortCAPIRegister(shortDocID,LPUCHARlpszFunctionName,LPUCHARlpszDescr  4.WordAPI調用WordBasic函數前,函數參數和返回值的數據緩沖區的建立Word中的所有字處理功能都可由對應的WordBasic函數來實現。正是利用這一點,在
WLL中可以通過調用WordBasic函數來實現對Word的定制。因此,必須利用WordAPI函數InitWCB設立調用WordBasic函數時傳遞參數與返回值的數據緩沖區。
  VoidInitWCB(WCBfar*lpwcb,shortretType,LPSTRlpBuffer,shortcBufferSize);
  InitWCB的參數說明如下:
@@0541701.JPG;表2@@
  例如,下面這段程序是獲取所選區域的字符串
字體情況:
  WCBwcb;//Word的參數和返回值傳遞的數據區
  short isbold;
  InitWCB(&wcb,TypeShort,NULL,0);
  //設立傳遞WordBasic函數參數和返回值的數據區wcb
  WORDFUNCTION(wdBold);
  //調用WordBasic函數Bold()
  isbold=wcb.wdo  創建WLL的程序框架
  本文給出一個用WordAPI完成的完整WLL框架,來實現如下圖所示Word中的修改。@@0541704.JPG;圖1加載WLL


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 葵青区| 曲阳县| 宁城县| 建宁县| 东阿县| 安岳县| 西城区| 镇原县| 镇康县| 高要市| 天峨县| 河曲县| 西吉县| 威海市| 布尔津县| 南丰县| 灌阳县| 敦化市| 拉萨市| 靖远县| 盐源县| 浙江省| 西城区| 萍乡市| 宜兰县| 东至县| 眉山市| 香格里拉县| 获嘉县| 北海市| 绿春县| 凌海市| 阿鲁科尔沁旗| 黄冈市| 桑日县| 理塘县| 淳安县| 光山县| 宜川县| 维西| 芮城县|