用jacob来实现你的功能。资源包去网上上载吧。http://danadler.com/jacob/我测试的一个例子:查找替换try {
String sInputDoc = "E:\\work\\testWord\\file_in.doc";
String sOutputDoc = "E:\\work\\testWord\\file_out.doc";
String sOldText = "[label:import:1]";
String sNewText = "I am some horribly long sentence, so long that [insert bullshit here]";
boolean tVisible = true;
boolean tSaveOnExit = false;
/////////////////////////////////////////////////////////////
ActiveXComponent oWord = new ActiveXComponent("Word.Application");
oWord.setProperty("Visible", new Variant(tVisible));
Object oDocuments = oWord.getProperty("Documents").toDispatch();
Object oDocument = Dispatch.call(oDocuments, "Open", sInputDoc).toDispatch();
Object oSelection = oWord.getProperty("Selection").toDispatch();
Object oFind = oWord.call(oSelection, "Find").toDispatch(); //////////////////////////////////////////////////////////////////////
Dispatch.put(oFind, "Text", sOldText);
Dispatch.call(oFind, "Execute");
Dispatch.put(oSelection, "Text", sNewText); //////////////////////////////////////////////////////////////////////
Dispatch.call(oSelection, "MoveDown");
Dispatch.put(oSelection, "Text", "\nSo we got the next line including BR.\n"); //////////////////////////////////////////////////////////////////////
Object oFont = Dispatch.get(oSelection, "Font").toDispatch();
Dispatch.put(oFont, "Bold", "1");
Dispatch.put(oFont, "Italic", "1");
Dispatch.put(oFont, "Underline", "0");
Dispatch.put(oFont, "Size", "20");
Dispatch.put(oFont, "Color", "1,0,0,0");
//Dispatch.put(oFont, "centre", "1");
//Dispatch.put(oFont, "block", "1");
//Object range=Dispatch.get(oSelection,"Range").toDispatch();
// Dispatch.put(range, "Color", "1,0,0,0"); //////////////////////////////////////////////////////////////////////
Object oAlign = Dispatch.get(oSelection, "ParagraphFormat").toDispatch();
Dispatch.put(oAlign, "Alignment", "1");
// Dispatch.put(oAlign, "Color", "1");
//////////////////////////////////////////////////////////////////////
Object oWordBasic = Dispatch.call(oWord, "WordBasic").getDispatch();
Dispatch.call(oWord, "SaveAs", sInputDoc);
//Dispatch.call(oWordBasic, "FileSave", sInputDoc);
Dispatch.call(oDocument, "Close", new Variant(tSaveOnExit));
oWord.invoke("Quit", new Variant[0]); //////////////////////////////////////////////////////////////////////
/* String sImgFile = "e:\\jsplife.png";
Dispatch.call(oSelection, "MoveDown");
Object oImage = Dispatch.get(oSelection, "InLineShapes").toDispatch();
Dispatch.call(oImage, "AddPicture", sImgFile);
Dispatch.call(oDocument, "Close", new Variant(tSaveOnExit));
//////////////////////////////////////////////////////////////////////*/
////////////////////////////////////////////////////////////////////// }
catch (Exception eEe) {
eEe.printStackTrace();
}
String sInputDoc = "E:\\work\\testWord\\file_in.doc";
String sOutputDoc = "E:\\work\\testWord\\file_out.doc";
String sOldText = "[label:import:1]";
String sNewText = "I am some horribly long sentence, so long that [insert bullshit here]";
boolean tVisible = true;
boolean tSaveOnExit = false;
/////////////////////////////////////////////////////////////
ActiveXComponent oWord = new ActiveXComponent("Word.Application");
oWord.setProperty("Visible", new Variant(tVisible));
Object oDocuments = oWord.getProperty("Documents").toDispatch();
Object oDocument = Dispatch.call(oDocuments, "Open", sInputDoc).toDispatch();
Object oSelection = oWord.getProperty("Selection").toDispatch();
Object oFind = oWord.call(oSelection, "Find").toDispatch(); //////////////////////////////////////////////////////////////////////
Dispatch.put(oFind, "Text", sOldText);
Dispatch.call(oFind, "Execute");
Dispatch.put(oSelection, "Text", sNewText); //////////////////////////////////////////////////////////////////////
Dispatch.call(oSelection, "MoveDown");
Dispatch.put(oSelection, "Text", "\nSo we got the next line including BR.\n"); //////////////////////////////////////////////////////////////////////
Object oFont = Dispatch.get(oSelection, "Font").toDispatch();
Dispatch.put(oFont, "Bold", "1");
Dispatch.put(oFont, "Italic", "1");
Dispatch.put(oFont, "Underline", "0");
Dispatch.put(oFont, "Size", "20");
Dispatch.put(oFont, "Color", "1,0,0,0");
//Dispatch.put(oFont, "centre", "1");
//Dispatch.put(oFont, "block", "1");
//Object range=Dispatch.get(oSelection,"Range").toDispatch();
// Dispatch.put(range, "Color", "1,0,0,0"); //////////////////////////////////////////////////////////////////////
Object oAlign = Dispatch.get(oSelection, "ParagraphFormat").toDispatch();
Dispatch.put(oAlign, "Alignment", "1");
// Dispatch.put(oAlign, "Color", "1");
//////////////////////////////////////////////////////////////////////
Object oWordBasic = Dispatch.call(oWord, "WordBasic").getDispatch();
Dispatch.call(oWord, "SaveAs", sInputDoc);
//Dispatch.call(oWordBasic, "FileSave", sInputDoc);
Dispatch.call(oDocument, "Close", new Variant(tSaveOnExit));
oWord.invoke("Quit", new Variant[0]); //////////////////////////////////////////////////////////////////////
/* String sImgFile = "e:\\jsplife.png";
Dispatch.call(oSelection, "MoveDown");
Object oImage = Dispatch.get(oSelection, "InLineShapes").toDispatch();
Dispatch.call(oImage, "AddPicture", sImgFile);
Dispatch.call(oDocument, "Close", new Variant(tSaveOnExit));
//////////////////////////////////////////////////////////////////////*/
////////////////////////////////////////////////////////////////////// }
catch (Exception eEe) {
eEe.printStackTrace();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货