撰寫日期:1996/07/10 | MS Office 自動化巨集 | 網頁化日期:1999/02/03 |
本報告的目的:
1. 自動化的目的促進工作效率,減少人工成本。
(1) 論文、報告及作業的圖形大量繪製或重新繪製。
(2) 論文、報告及作業的相似表格大量繪製或重新繪製。
(3) 重複性的動作。
2. 應用軟體特殊性影響程式架構的位置。
(1) 利用 Excel 現成函數或功能時,如反矩陣、統計函數、線性規劃等。
(2) 利用 MicroStation 功能時,如圖元截取、圖元修改編製等。
3. 可利用資源充沛。
(1) 可利用 ODBC 連結存取任一資料庫,不須修改程式碼。
(2) 操作介面製作容易。
(3) 可利用 Windows 所提供之所有資源。
(4) 可透過 OLE 、 DDE 等利用 Windows 下相關應用軟體資源。
4. 與 Visual BASIC 相容。
(1) 除各應用軟體所提供之特殊物件外,程式碼及觀念皆相容。
(2) 若透過 OLE 引入應用軟體時,則特殊物件亦同時引入 VB 。
2.1 巨集
巨集 (marco) 的意思就是以簡單的按鍵取代一連串的按鍵動作。後來在組合語言、程式編譯設定檔 (Make File) 及程式啟始設定檔大量使用 marco 的名詞,使巨集有了新的含義,巨集代表一連串的指定動作。在 MS Office 中定義廣義的巨集含義,巨集是一連串的事件、動作的組合。這種廣義的定義來說,巨集已和程式無異了。
提供巨集的各 Windows 應用軟體中,目前以 Word 5.x 以後版本、 Excel 5.x 以後版本、 Access 7.0 及 MicroStation 95 有相同的標準及操作:
1. 以 BASIC 為基本語法,並與 Visual BASIC for App. 相容。
2. 可完全不用瞭解巨集語法,僅以「錄製巨集」、「執行巨集」即可使用。
3. 有完整的編緝、除錯、輔助說明及操作環境。
4. 均具有完整的對話盒編緝器,可建立私有的操作環境。
2.2 建立巨集
建立巨集可以從最簡單的「錄製巨集」開始。例如說我們有多個文件,其中有多個須要替換的詞句,如「規畫」改成「規劃」、「計劃」改成「計畫」等,雖然應用軟體皆提供了替換的工具箱,但若要替換的檔案或詞句一多,工作量則以倍份增加。這時可考慮採用「巨集」,怎麼作呢?
1. 由選單中選出「錄製巨集」,並決定巨集名。
2. 正常操作單一檔案的各個替換工作。
3. 單一檔案的各個替換工作完畢後,選擇「停止錄製巨集」。
4. 開啟其它工作檔並選擇原巨集後執行。
從第二個工作檔以後,所有的替換動作皆僅須一執行巨集的功能即可取代。但並不一定所有的動作街皆可由「錄製巨集」完成,例如判斷或迴圈等,這種情形就須進入編緝巨集來完成。例如前例改為所有同目錄或指定文件希望一次完成,則巨集就必須迴圈化來處理。但若做該巨集僅使用少次,則須考慮時間及工作量是否有確切減少,以免增加工作時間及工作量。
以 Word 來說,所有錄製之巨集皆存放於 Normal.dot 下,建議利用組合管理的功能將自己需要保存的巨集另存它檔,一方面便於管理分類,一方面若有巨集病毒入侵也可以比較容易發現。最好是將對 Normal.dot 檔的存取確認盒設定打開,這樣也容易過濾巨集病毒。
2.3 遙控應用軟體
Windows 提供四種方法控制其它應用軟體或傳遞資料:
1. 動態資料交換 (DDE) 。
2. 物件插入 (OLE) 。
3. 剪貼簿 (Clpboard) 。
4. 應用程式控制 (App. Control) 。
本報告僅介紹方法 4 ,方法 1 及方法 2 坊間皆有超過 1,000 頁的專書介紹,在本報告中不多作說明,方法 1 約需專章討論,在本報告中亦不多加說明。
應用程式控制常用之主要函數分述如下:
1. AppActivate 陳述式:啟動應用程式視窗。
語法:AppActivate title [,wait]
2. Shell 函數:執行一個可執行的程式。
語法:Shell(pathname[,windowstyle])
3. SendKeys 陳述式:將一或多個按鍵傳送到作用中的視窗上,如同在鍵盤上做輸入一樣。
語法:SendKeys string[,wait]
由上面常用之主要函數可知,凡是要啟動其它軟體且所有步驟皆可以鍵盤處理之情形時,可以利用自動化來操作個軟體,與 DOS 的批次檔頗有異曲同工之妙。
2.4 範例
為特殊目的而修改程式碼的狀況在此不多加敘述,本範例簡單介紹如何利用 Excel 強大的繪圖功能,將其繪圖的成果自動送進 Word 成為報告或論文。透過 Excel 來處理繪圖的原因是 Excel 有強大的文字轉取精靈,一般格式化的文字檔可輕易的轉入 Excel ,不論計算、繪圖、表格皆適宜,透過 Excel 處理可節省發展資料讀取程式的時間。以繪圖來說,繪圖範例做好後,調整資料內容或資料區間即可複製送入 Word ,若有範例外的功能要調整,亦可利用「錄製巨集」取得修改簡例,範例可由錄製巨集進行修改,亦可重新打入。在 Word 部份來說, Word 收 Excel 圖要貼成 Graph5 的格式,因此這部份由貼上到完成利用「錄製巨集」的功能,簡單的錄製成一巨集 "PasteGraph5" 以方便處理。