程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> 關於VC++ >> 用VC6.0編寫Word 2007插件

用VC6.0編寫Word 2007插件

編輯:關於VC++

簡介

微軟在06年底推出了兩個重量級的產品:Vista和Office 2007。在Office2007中 使用了新的UI方式。微軟大力鼓吹這種叫做Ribbon的新的UI將會給使用Office的人帶來更大 的便利性。在Office插件方面,微軟保持了對原有版本 (office 2K、XP、03) 的兼容性,都 被放到一個叫做Add-In的Tab裡面,如下圖所示。

不過樣子比較難 看,到底有沒有辦法讓界面做得更漂亮一點呢?答案是肯定的。本文假設讀者已經閱讀並理 解了我的上一篇文章:

“用VC6.0編寫Word插件(Office2K、XP、03) ”

首先,引入新的Office的幾個庫文件,如果你的電腦安裝了Office 2007,那 麼下面幾個文件就會存在你的硬盤裡面。

然後,原來的那個WordAddin需要繼承一個 名叫IRibbonExtensibility新的接口,並實現這個接口必須的函數raw_GetCustomUI。

然後, 原來的那個WordAddin需要繼承一個名叫IRibbonExtensibility新的接口,並實現這個接口必 須的函數raw_GetCustomUI。

實現上邊這個函 數的目的是,因為Office2007在啟動的時候就會詢問插件的IRibbonExtensibility接口是否 存在,如果該接口存在的話,就會調用這個接口的函數raw_GetCustomUI,在這個函數裡面, 我們必須把我們的UI通過XML的方式傳給Office 2007,這樣,在XML裡面,我們可以自己定義 我們需要的UI形式,樣式非常豐富多彩,只有想不到,沒有做不到。以下是一個簡單的XML的 例子:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="true">
   <tabs>
     <tab id="CustomTab" label="MyTab">
       <group id="SimpleControls" label="MyGroup">
        <button id="Button1" imageMso="HappyFace" size="large"
          label="MyButton" />
      </group>
    </tab>
    </tabs>
 </ribbon>
</customUI>

我們可以把這個 XML字符串放到我們的資源文件裡面,並且在raw_GetCustomUI中傳遞給Office。以下是這個 函數的簡單實現。

到目前為止,在 Word的UI上面我們應該可以看到我們的插件了。如下圖所示。如果還不能看到的話,請檢查 前面的步驟是否有錯誤。

這時,當你點擊 按鈕的時候,會發現沒有任何反應。那麼,該如何響應對應的按鈕事件呢?這就需要我們修 改兩個地方。首先在XML字符串裡面注明按鈕的響應函數。

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="true">
   <tabs>
     <tab id="CustomTab" label="MyTab">
       <group id="SimpleControls" label="MyGroup">
        <button id="Button1" imageMso="HappyFace" size="large"
          label="MyButton"
         onAction="OnMyButton" /> //新增的響應函數
       </group>
    </tab>
   </tabs>
  </ribbon>
</customUI>

然後,在我們的組件裡面新增這個接口函 數。

一定要注意新增 的這個接口函數必須與XML裡面指定的相同。現在你再點擊按鈕的話,就會有一個對話框彈出 來了。

總結

Office 2007系列的插件,跟以往的插件編寫方法有了很大的不同 。通過引入XML的UI安排方式,大大的增加了靈活性。本著與時俱進的精神,我們應該跟隨微 軟的腳步,盡快掌握這個技術。

下載源代碼:http://www.vckbase.com/code/downcode.asp?id=3018

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved