package com.heyang;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class CreateWordDocument{
public static void main(String[] args) throws Exception{
// 初始化com的線程,非常重要!!使用結束后要調用 realease方法
ComThread.InitSTA();
// 實例化ActiveX組件對象:對word進行操作
ActiveXComponent wrdCom= new ActiveXComponent("Word.Application");
// 獲取Dispatch的Documents對象
Dispatch wrdDocs=wrdCom.getProperty("Documents").toDispatch();
// 設置打開的word應用程序是否可見
wrdCom.setProperty("Visible", new Variant(true));
// 創建一個新的文檔
Dispatch doc = Dispatch.call(wrdDocs, "Add").toDispatch();
// 獲得當前word文檔文本
Dispatch docSelection = Dispatch.get(wrdCom, "Selection").toDispatch();
// 輸入文字
Dispatch.put(docSelection, "Text", "測試Text");
// 另存為
Dispatch.call(doc, "SaveAs", new Variant("C:\\abc.doc")); // 保存一個新文檔
// 保存關閉
if (doc != null) {
Dispatch.call(doc, "Save");
Dispatch.call(doc, "Close", new Variant(true));
doc = null;
}
// 關閉word文件
wrdCom.invoke("Quit", new Variant[] {});
// 釋放com線程。根據jacob的幫助文檔,com的線程回收不由java的垃圾回收器處理
ComThread.Release();
}
}