用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();
        }