2021年11月14日 星期日

技術筆記:WORD EXCEL Add-In

若要說MS對世界的貢獻,WINDOWS外,更重要的應是WORD和EXCEL吧。其文字排版和試算繪圖功能,幾乎是每位學生和職場工作者必備能力,但若問除文書編輯外的其他功能,整理有四項。

巨集

巨集是存在於WORD和EXCEL套裝軟體內,可單獨編程並且序列執行的工具組。自身使用經驗是,實用性不高。

直接存取OOXML及OLE2內容

WORD和EXCEL文件看似五花八門,本質仍遵循著固定的資料格式,也就是XML和OLE,所以只要熟悉這兩者格式,就能從檔案層次讀取和修改WORD和EXCEL內容。這部分可參考Apache POI(連結),或是PDF和WORD互轉程式。

藉由COM元件,生成、讀取或修改WORD和EXCEL檔案

除檔案外,也可由程式(VB 或 C#)透過COM元件,喚起WORD或EXCEL達到相同功能。做法 using word = Microsoft.Office.Interop.Word; 例如(連結  EXCEL連結)。

VSTO(Visual Studio Tools for Office)

微軟為OFFICE軟體開發有VSTO平台(C#),為WORD和EXCEL增添互動功能,簡稱為Add-In。(連結)

以Visual Studio 2019為例,安裝後會在registry entries中加入Plug-ins,改變WORD和EXCEL軟體功能,概念類似軟體小幫手可在文書編輯時可同時將外部資料庫或圖片等功能嵌入檔案內(Object Model),或對各類WORD或EXCEL動作給予反應(register callbacks)。依呈現方式可區分成下列幾項。

A: Task pane add-in  在一旁協助使用者填入資料,概念類似縣在網路上各種自動生成的表單

B: Add-in command,曾經接觸過的例子是IBM Rational RequisitePro,這也是最近嘗試開發Traceability工具時,主要參考依據,未來也會以此補充這篇內容。

C: Content add-in,可以類似拼字或文法檢查之類,對文字或反白等等區域進行處理。

另外VSTO還包含web word文件,其原理與上述都不同是透過web server操作,因為概念差別太大,先略過。

沒有留言:

張貼留言