透過 JACOB 操作 Office 進行轉檔的過程,而最終產出結果為 HTM 檔
接著就以一個 Word 操作的 Sample 來介紹
//..... String officeFilePath = "C:\\abc.doc"; //word 檔 String HtmFilePath = "C:\\abc.htm"; //轉出檔 //初始化 Wrod ActiveXComponent activeX_App = new ActiveXComponent("Word.Application"); try{ //將操作 office 的過程設定為背景執行 activeX_App.setProperty("Visible", new Variant(false)); // 取得 該 Word 的Dispatch 物件,透過設置Property 為 "Documents" Dispatch prop = activeX_App.getProperty("Documents").toDispatch(); //載入 word 檔案並開啟 運用 Dispatch.invoke(...).toDispatch() 返回一個 Dispatch 物件 Dispatch office = Dispatch.invoke( prop, "Open", Dispatch.Method, new Object[] {officeFilePath, new Variant(false), new Variant(true) }, new int[1]).toDispatch(); //將 word 文件另存成 HTM 檔 Dispatch.invoke(office, "SaveAs", Dispatch.Method, new Object[] {mhtFilePath, new Variant(8)}, //WORD 轉 HTM 的代碼為 8 new int[0]); Dispatch.call(office, "Close"); //關閉 Word }catch(Exception e){ e.printStackTrace(); }finally{ activeX_App.invoke("Quit"); }