3-jacob操作Word例子2
来源:互联网 发布:linux cp dd 编辑:程序博客网 时间:2024/06/06 07:05
/*
* Created on 2007-7-25 22:13:32 by OliverLee
*/
package com.oliver;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class Printer
{
public static void main(String[] args)
{
//启动word,生成一个ActiveXComponent对象
ActiveXComponent app = new ActiveXComponent("Word.Application");
//要转换的word文件
String inFile = "C://wordtemplet.doc";
//要报存的目标文件
String tpFile = "C://wordtemplet3.doc";
boolean flag = false;
Dispatch xlo = app.getObject();
String oldText="1234";
String newText="test";
boolean visible=false;
String bookMarkKey="LB_KJGG";
try {
//设置word不可见,即打开Word文档但并不打开窗口
app.setProperty("Visible", new Variant(visible));
Dispatch docs = app.getProperty("Documents").toDispatch();
// Dispatch.invoke 即调用Word程序的某些功能
Dispatch doc = Dispatch.invoke(docs, "Open", Dispatch.Method ,
new Object[]{inFile, new Variant(false), new Variant(true)} ,
new int[1])
.toDispatch(); //打开word文件
//在word2003的vba文档中application有UserName属性。
String userName=app.getPropertyAsString("UserName");
System.out.println("用户名:"+userName);
Dispatch selection=app.getProperty("Selection").toDispatch();
//得到一个组件
System.out.println("Selection");
Dispatch find = app.call(selection, "Find").toDispatch();
//查找什么文本
Dispatch.put(find, "Text", oldText);
//替换文本
Dispatch.call(find,"ClearFormatting");
Dispatch.put(find, "Text", oldText);
Dispatch.call(find, "Execute");
Dispatch.put(selection, "Text", newText);
// Dispatch.call(app, "SaveAs", inFile);
System.out.println("replace");
//把指定的值设置到指定的标签中去
Dispatch activeDocument=app.getProperty("ActiveDocument").toDispatch();
System.out.println("activedocument");
Dispatch bookMarks = app.call(activeDocument, "Bookmarks").toDispatch();
System.out.println("bookmarks");
boolean bookMarkExist1=Dispatch.call(bookMarks,"Exists",bookMarkKey).toBoolean();
if(bookMarkExist1==true){
System.out.println("exists bookmark!");
Dispatch rangeItem = Dispatch.call(bookMarks, "Item",bookMarkKey).
toDispatch();
System.out.println("range item!");
Dispatch range = Dispatch.call(rangeItem, "Range").toDispatch();
System.out.println("range !");
//取标签的值
String bookMarkValue=Dispatch.get(range,"Text").toString();
bookMarkValue="test";
if(bookMarkValue!=null){
Dispatch.put(range, "Text",
new Variant(bookMarkValue));
}
}
else{
System.out.println("not exists bookmark!");
}
//保存文件
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {tpFile, new Variant(0)} , new int[1]);
//作为word格式保存到目标文件
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
flag = true;
}
catch (Exception e) {
e.printStackTrace();
}
finally {
app.invoke("Quit", new Variant[] {});
}
}
}
- 3-jacob操作Word例子2
- jacob操作word参考资料2
- jacob操作Word的例子,office及pdf
- 利用Java-JACOB操作WORD文档2
- 利用Java-JACOB操作WORD文档2
- 利用Java-JACOB操作WORD文档2
- jacob操作word
- jacob 操作word 实例
- jacob操作word excel
- jacob 操作word 分页
- Jacob操作Word书签
- jacob操作word
- jacob操作word
- jacob操作word教程
- jacob操作Microsoft Word
- jacob操作word和excel
- JACOB操作word VariantChangeType failed
- Jacob简介之操作word
- Unicode
- 要试就试好···
- eclipse中安装tomcat插件
- 遭遇Worm.Win32.Viking.lm/Worm.Viking.tc,Trojan.PSW.Win32.OnlineGames等1
- ASP 2.0入门
- 3-jacob操作Word例子2
- 与大学生谈软件外包
- 中心渐变的快速填充函数
- 泛型学习:泛型在数据类型转换上的应用
- 在Debian中玩转MySql(上)
- power design(PD)小经验
- 几个备份
- java——内部类相关知识
- 我愿意做一辈子的程序员