jacob操作注意事项

使用ActiveXComponent word = ActiveXComponent.connectToActiveInstance("Word.Application")得到应用,引发的多线程问题。

1、 使用是同一word进程,Open或打开文档后,不能退出word即不能调用Quit。

2、 按照Selection的描述是ActiveWindow的属性,每个Document都有一个Selection,

使用word获取的是当前活动Document的Selection。故所有获取Selection都应以下述方式获取

Dispatch activeWindow = Dispatch.get(document, "ActiveWindow").toDispatch();
Dispatch selection = Dispatch.get(activeWindow, "Selection").toDispatch();

而不是

Dispatch selection = Dispatch.get(word, "Selection").toDispatch();

3、获取书签也同2,获取Document的Bookmarks属性对象。

4、关于Find对象,模版文档文字替换(经常用),经常使用word的同学都知道,文档A,打开的查找窗口和文档B(同Aword进程)的查找窗口,查找的属性是一致的。故代码编写时使用同步机制。

  锁定

    获取Find对象

Dispatch find = Dispatch.get(selection, "Find").toDispatch();

     设置查找内容

Dispatch.put(find, "Text", "查找内容");

   ...设置其它查找属性

执行查找

boolean result = Dispatch.call(find, "Execute").getBoolean();

  解除锁定

 

   

    

 

转载于:https://www.cnblogs.com/hzw-hym/p/4224804.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值