问题描述
importcom.jacob.com.*;importcom.jacob.activeX.*;publicclassReadWord{publicstaticvoidmain(String[]args){ActiveXComponentapp=newActiveXComponent("Word.Application");//启动wordStringinFile="C:\test.doc";//要替换的word文件try{app.setProperty("Visible",newVariant(false));//设置word不可见 Dispatchdocs=app.getProperty("Documents").toDispatch();Dispatchdoc=Dispatch.invoke(docs,"Open",Dispatch.Method,newObject[]{inFile,newVariant(false),newVariant(false)},newint[1]).toDispatch();//打开word文件,注意这里第三个参数要设为false,这个参数表示是否以只读方式打开,因为我们要保存原文件,所以以可写方式打开Dispatchselection=app.getProperty("Selection").toDispatch();//获得对Selection组件Dispatch.call(selection,"HomeKey",newVariant(6));//移到开头DispatchHyperlinks=Dispatch.get(doc,"Hyperlinks").toDispatch();intnHyperlink=Dispatch.get(Hyperlinks,"count").toInt();System.out.println("hyper="+nHyperlink);for(inti=0;i<nHyperlink;i++){Dispatchhyperlink=Dispatch.invoke(Hyperlinks,"item",Dispatch.Method,newObject[]{newInteger(i+1)},newint[1]).toDispatch();Dispatch.put(hyperlink,"TextToDisplay","wml");Dispatch.call(hyperlink,"delete");}Dispatch.call(doc,"Save");//保存Dispatch.call(doc,"Close",newVariant(false));}catch(Exceptione){e.printStackTrace();}finally{app.invoke("Quit",newVariant[]{});app.safeRelease();}}}我想把所有的doc文件中的超链接获取,然后用wml全部替换。现在执行总是报错,只能修改一部分
解决方案
解决方案二:
mark!
解决方案三:
帮顶下
解决方案四:
顶下
解决方案五:
这个还真不会。。