当柳上原的风吹向天际的时候...

真正的快乐来源于创造

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
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 ModifyWordDocument {
    
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, "Open""c:\\abc.doc")
                .toDispatch();

        
// 获得当前word文档文本
        Dispatch docSelection = Dispatch.get(wrdCom, "Selection").toDispatch();

        
// 从selection所在位置开始查询
        Dispatch find = Dispatch.call(docSelection, "Find").toDispatch();

        
// 设置要查找的内容
        Dispatch.put(find, "Text""测试");
        
// 向前查找
        Dispatch.put(find, "Forward""True");
        
// 设置格式
        Dispatch.put(find, "Format""True");
        
// 大小写匹配
        Dispatch.put(find, "MatchCase""True");
        
// 全字匹配
        Dispatch.put(find, "MatchWholeWord""True");

        Dispatch.call(find, 
"Execute").getBoolean();
        Dispatch.put(docSelection, 
"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();
    }
}
posted on 2011-06-03 11:42 何杨 阅读(954) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: