服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java通过jacob调用word


  public static void main(string[] args) {    //启动word,生成一个activexcomponent对象    activexcomponent app = new activexcomponent("word.application");    //要转换的word文件    string infile = "d://project//java_word//java_word//wordtemplet.doc";    //要报存的目标文件    string tpfile ="d://project//java_word//java_word//wordtemplet3.doc";    boolean flag = false;    dispatch xlo = app.getobject();    string oldtext="1234";    string newtext="test";    boolean visible=false;    string bookmarkkey="lb_kjgg";    try {      //设置word不可见      app.setproperty("visible", new variant(visible));      //log.info("设置word不可见成功!");      system.out.println("设置word不可见成功!");      dispatch docs = app.getproperty("documents").todispatch();      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[] {});    }

扫描关注微信公众号