java操作word问题??? 我现在的情况是要从数据库取出数据,塞到word对应的表格中,因为word是事先做的模版,研究了半天poi,还是不明白,有哪位大侠对操作poi熟悉的,或对操作word熟的人想想办法等待中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 貌似需要用poi把word模版也写出来然后在相应的表格里留出位置方便填写数据 有什么具体的方法,或者api什么的。 不好意思具体的不清楚但我觉得poi可以做到 恩,我看了一段poi的api了,什么hdf,hpsf,还有hwpf,但是没找到具体操作方法。。郁闷中。。我这个模版有点变态,以前是手工写,现在又系统了,就把手工代替了,再研究研究吧 package com.sea.iframe.seaman;import java.io.File;import java.util.ArrayList;import javax.swing.JOptionPane;import office.MSWordManager;import com.sea.dao.cert.CertDao;import com.sea.dao.download.DownLoad;import com.sea.dao.download.DownloadServices;import com.sea.dao.health.HealthDao;import com.sea.dao.seaman.SeamanDao;import com.sea.dao.server.ServerDao;import com.sea.dao.ship.ShipDao;import com.sea.iframe.others.SeamanLogger;import com.sea.model.cert.Cert;import com.sea.model.health.Health;import com.sea.model.seaman.Seaman;import com.sea.model.server.Server;import com.sea.model.ship.Ship;import com.sea.services.user.SeaSystemServices;import com.sea.util.Tool;public class SeamanToWord { private int seid=-1; private Seaman seaman; private Cert cert; private MSWordManager wordManager = new MSWordManager(false); private ArrayList<Server> list; private String save_path; boolean isHealth = false; boolean isShoushu = false; String healthDiscribe = ""; public SeamanToWord(int seid){ this.seid = seid; } private void getSeaman(){ SeamanDao seamanDao = new SeamanDao(); seaman = seamanDao.getSeamanByID(seid); } private void getCert(String certname){ CertDao certDao = new CertDao(); cert = certDao.getCertByID(seid, certname); } private void getServerList(){ ServerDao serverDao = new ServerDao(); list = serverDao.getServerBySeid(seid); } private void getHealth(){ HealthDao healthDao = new HealthDao(); ArrayList<Health> list = healthDao.getHealthListBySeid(seid); if(list.size()!=0) isHealth = true; for(int i=0; i<list.size(); i++){ Health health = list.get(i); if(("是").equals(health.getShoushu())){ isShoushu = true; break; } } for(int i=0; i<list.size(); i++){ Health health = list.get(i); healthDiscribe += "在"+health.getStartdate()+"到"+health.getEnddate()+"期间"+"患"+health.getIllname(); if(health.getShoushu().equals("是")) healthDiscribe += ",动过手术"; if(health.getLichuan().equals("是")) healthDiscribe += ",还因病离船"; healthDiscribe += "\n"; } } private String getPath(){ String save_path = new SeaSystemServices().getSeaSystemByName(Tool.CERT_SAVE_PATH).getDataValue(); save_path = save_path.replaceAll("/", "//");// save_path = save_path+"//doc"; if(("").equals(save_path)||null==save_path){ String path = this.getClass().getResource("").toString(); path = path.substring(path.indexOf("/")+1); path = path.substring(0,path.indexOf("/"));// save_path = path+"//doc"; } save_path = save_path.replaceAll("//", "\\\\"); File file = new File(save_path); if(!file.exists()) file.mkdirs(); return save_path; } private void generateWord() throws Exception{ this.getSeaman(); //System.out.println("Tool>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+Tool.WORDPATH); String modelPath = this.getClassPath()+Tool.WORDPATH; //System.out.println("modelPath>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+modelPath); modelPath = modelPath.replaceAll("/", "\\\\"); wordManager.openDocument(modelPath); if(seaman!=null){ wordManager.moveStart(); wordManager.replaceAllText("cyname", seaman.getIname()); wordManager.moveStart(); wordManager.replaceAllText("cyjob", Tool.changFlagToValue(seaman.getJob(), "A")); wordManager.moveStart(); wordManager.replaceAllText("cybirthday", seaman.getBday()); wordManager.moveStart(); wordManager.replaceAllText("cyaddress", seaman.getAddress()); wordManager.moveStart(); wordManager.replaceAllText("cymarray", seaman.getMarry()); wordManager.moveStart(); wordManager.replaceAllText("cyeducation", Tool.changFlagToValue(seaman.getJob(), "C")); wordManager.moveStart(); wordManager.replaceAllText("cyschool", seaman.getSchool()); wordManager.moveStart(); wordManager.replaceAllText("cyenglishlevel", seaman.getForeign_level()); if(!("-1").equals(seaman.getCerturl())){ String pictureUrl = getClassPath(); try { DownLoad downLoad = new DownloadServices().queryDownload(seaman .getCerturl()); if (downLoad != null) pictureUrl += downLoad.saveFile("download/seamanmodel/doc/"); } catch (Exception e1) { e1.printStackTrace(); SeamanLogger.getLogger().debug(e1.toString()); } pictureUrl = pictureUrl.replaceAll("/", "\\\\"); File file = new File(pictureUrl); if(file.exists()){ wordManager.moveStart(); wordManager.replaceAllImage("cyphotoshop", pictureUrl); file.delete(); } } } this.getCert(Tool.CERT_HYZ); if(cert!=null){ wordManager.moveStart(); wordManager.replaceAllText("cycertname", cert.getCertnumber()); wordManager.moveStart(); wordManager.replaceAllText("cystartdate", cert.getStartdate()); wordManager.moveStart(); wordManager.replaceAllText("cyenddate", cert.getEnddate()); }else{ wordManager.moveStart(); wordManager.replaceAllText("cycertname", ""); wordManager.moveStart(); wordManager.replaceAllText("cystartdate", ""); wordManager.moveStart(); wordManager.replaceAllText("cyenddate", ""); } this.getCert(Tool.CERT_SFZ); if(cert!=null){ wordManager.moveStart(); wordManager.replaceAllText("cysfz", cert.getCertnumber()); }else{ wordManager.moveStart(); wordManager.replaceAllText("cysfz", ""); } this.getCert(Tool.CERT_FWB); if(cert!=null){ wordManager.moveStart(); wordManager.replaceAllText("cyfwb", cert.getCertnumber()); }else{ wordManager.moveStart(); wordManager.replaceAllText("cyfwb", ""); } this.getHealth(); if(isHealth){ wordManager.moveStart(); wordManager.replaceAllText("cyishealth", "有"); }else{ wordManager.moveStart(); wordManager.replaceAllText("cyishealth", "无"); } if(isShoushu){ wordManager.moveStart(); wordManager.replaceAllText("cyisshoushu", "有"); }else{ wordManager.moveStart(); wordManager.replaceAllText("cyisshoushu", "无"); } wordManager.moveStart(); wordManager.replaceAllText("cyhealth", healthDiscribe); this.getServerList(); if(list!=null){ for(int i=0; i<list.size()&&i<3; i++){ Server server = list.get(i); if(Tool.daysOfTwo(Tool.getDate(), server.getOutshipdate())<1095){ Ship ship = new ShipDao().getShipByID(server.getShipid()); wordManager.moveStart(); wordManager.replaceAllText("cyshipname"+(i+1), ship==null?"":ship.getShipName()); wordManager.moveStart(); wordManager.replaceAllText("cytongwei"+(i+1), ship==null?"":(ship.getDeadWeight()+"/"+ship.getPower())); wordManager.moveStart(); wordManager.replaceAllText("jobname"+(i+1), Tool.changFlagToValue(server.getJobname(), "A")); wordManager.moveStart(); wordManager.replaceAllText("cyupdowndate"+(i+1), server.getOnshipdate()+"/"+server.getOnshipdate()); wordManager.moveStart(); wordManager.replaceAllText("cyre"+(i+1), server.getLichuanre()); } } } save_path = this.getPath()+"//"+seaman.getIname()+Tool.getLongDate()+".doc"; wordManager.saveFileAs(save_path); wordManager.setSaveOnExit(false); wordManager.closeDocument(); wordManager.closeWord(); } public boolean generateWordProxy(){ boolean isSuccess = false; try { generateWord(); isSuccess = true; } catch (Exception e) { isSuccess = false; wordManager.closeDocument(); wordManager.closeWord(); } return isSuccess; } private String getClassPath(){ File file = new File(""); String path = file.getAbsolutePath(); path = path.replaceAll("\\\\", "/"); return path+"/"; } public static void main(String[] args){// SeamanToWord seamanToWord = new SeamanToWord(101);// System.out.println(seamanToWord.getClassPath()); }} package office;import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import com.jacob.com.Variant;public class MSWordManager { // word文档 private Dispatch doc; // word运行程序对象 private ActiveXComponent word; // 所有word文档集合 private Dispatch documents; // 选定的范围或插入点 private Dispatch selection; private boolean saveOnExit = true; /** * * @param visible 为true表示word应用程序可见 */ public MSWordManager(boolean visible) { if (word == null) { word = new ActiveXComponent("Word.Application"); word.setProperty("Visible", new Variant(visible)); } if (documents == null) documents = word.getProperty("Documents").toDispatch(); } /** * 设置退出时参数 * * @param saveOnExit boolean true-退出时保存文件,false-退出时不保存文件 */ public void setSaveOnExit(boolean saveOnExit) { this.saveOnExit = saveOnExit; } /** * 创建一个新的word文档 * */ public void createNewDocument() { doc = Dispatch.call(documents, "Add").toDispatch(); selection = Dispatch.get(word, "Selection").toDispatch(); } /** * 打开一个已存在的文档 * * @param docPath */ public void openDocument(String docPath) { //closeDocument(); doc = Dispatch.call(documents, "Open", docPath).toDispatch(); selection = Dispatch.get(word, "Selection").toDispatch(); } /** * 把选定的内容或插入点向上移动 * * @param pos 移动的距离 */ public void moveUp(int pos) { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); for (int i = 0; i < pos; i++) Dispatch.call(selection, "MoveUp"); } /** * 把选定的内容或者插入点向下移动 * * @param pos 移动的距离 */ public void moveDown(int pos) { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); for (int i = 0; i <pos; i++) Dispatch.call(selection, "MoveDown"); } /** * 把选定的内容或者插入点向左移动 * * @param pos 移动的距离 */ public void moveLeft(int pos) { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); for (int i = 0; i <pos; i++) { Dispatch.call(selection, "MoveLeft"); } } /** * 把选定的内容或者插入点向右移动 * * @param pos 移动的距离 */ public void moveRight(int pos) { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); for (int i = 0; i < pos; i++) Dispatch.call(selection, "MoveRight"); } /** * 把插入点移动到文件首位置 * */ public void moveStart() { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); Dispatch.call(selection, "HomeKey", new Variant(6)); } public void moveEnd() { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); Dispatch.call(selection, "EndKey", new Variant(6)); } /** * 从选定内容或插入点开始查找文本 * * @param toFindText 要查找的文本 * @return boolean true-查找到并选中该文本,false-未查找到文本 */ public boolean find(String toFindText) { if (toFindText == null || toFindText.equals("")) return false; // 从selection所在位置开始查询 Dispatch find = word.call(selection, "Find").toDispatch(); // 设置要查找的内容 Dispatch.put(find, "Text", toFindText); // 向前查找 Dispatch.put(find, "Forward", "True"); // 设置格式 //Dispatch.put(find, "Format", "True"); // 大小写匹配 //Dispatch.put(find, "MatchCase", "True"); // 全字匹配 //Dispatch.put(find, "MatchWholeWord", "True"); // 查找并选中 return Dispatch.call(find, "Execute").getBoolean(); } /** * 把选定内容设定为替换文本 * * @param toFindText 查找字符串 * @param newText 要替换的内容 * @return */ public boolean replaceText(String toFindText, String newText) { if (!find(toFindText)) return false; Dispatch.put(selection, "Text", newText); return true; } 一个关于swing中关闭窗口的问题 一个不知道怎么做的需求!关于struts 请问jtextfield如果实现MSN中查找联系人那样的效果? 求JavaScript帮助文档 大侠请教一个问题 关于JScrollPane的使用 高手来帮我看看出了什么问题,解决马上结帖。 求:18位身份证号码校验的源程序 Jbuilder为什么总出现"unknown license file format." applet不能用? java 线程问题 急~~~ 被斜杠被晕了
然后在相应的表格里留出位置方便填写数据
具体的不清楚
但我觉得poi可以做到
import java.util.ArrayList;import javax.swing.JOptionPane;import office.MSWordManager;import com.sea.dao.cert.CertDao;
import com.sea.dao.download.DownLoad;
import com.sea.dao.download.DownloadServices;
import com.sea.dao.health.HealthDao;
import com.sea.dao.seaman.SeamanDao;
import com.sea.dao.server.ServerDao;
import com.sea.dao.ship.ShipDao;
import com.sea.iframe.others.SeamanLogger;
import com.sea.model.cert.Cert;
import com.sea.model.health.Health;
import com.sea.model.seaman.Seaman;
import com.sea.model.server.Server;
import com.sea.model.ship.Ship;
import com.sea.services.user.SeaSystemServices;
import com.sea.util.Tool;
public class SeamanToWord {
private int seid=-1;
private Seaman seaman;
private Cert cert;
private MSWordManager wordManager = new MSWordManager(false);
private ArrayList<Server> list;
private String save_path;
boolean isHealth = false;
boolean isShoushu = false;
String healthDiscribe = "";
public SeamanToWord(int seid){
this.seid = seid;
} private void getSeaman(){
SeamanDao seamanDao = new SeamanDao();
seaman = seamanDao.getSeamanByID(seid);
}
private void getCert(String certname){
CertDao certDao = new CertDao();
cert = certDao.getCertByID(seid, certname);
}
private void getServerList(){
ServerDao serverDao = new ServerDao();
list = serverDao.getServerBySeid(seid);
}
private void getHealth(){
HealthDao healthDao = new HealthDao();
ArrayList<Health> list = healthDao.getHealthListBySeid(seid);
if(list.size()!=0)
isHealth = true;
for(int i=0; i<list.size(); i++){
Health health = list.get(i);
if(("是").equals(health.getShoushu())){
isShoushu = true;
break;
}
}
for(int i=0; i<list.size(); i++){
Health health = list.get(i);
healthDiscribe += "在"+health.getStartdate()+"到"+health.getEnddate()+"期间"+"患"+health.getIllname();
if(health.getShoushu().equals("是"))
healthDiscribe += ",动过手术";
if(health.getLichuan().equals("是"))
healthDiscribe += ",还因病离船";
healthDiscribe += "\n";
}
}
private String getPath(){
String save_path = new SeaSystemServices().getSeaSystemByName(Tool.CERT_SAVE_PATH).getDataValue();
save_path = save_path.replaceAll("/", "//");
// save_path = save_path+"//doc";
if(("").equals(save_path)||null==save_path){
String path = this.getClass().getResource("").toString();
path = path.substring(path.indexOf("/")+1);
path = path.substring(0,path.indexOf("/"));
// save_path = path+"//doc";
}
save_path = save_path.replaceAll("//", "\\\\");
File file = new File(save_path);
if(!file.exists())
file.mkdirs();
return save_path;
}
private void generateWord() throws Exception{
this.getSeaman();
//System.out.println("Tool>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+Tool.WORDPATH);
String modelPath = this.getClassPath()+Tool.WORDPATH;
//System.out.println("modelPath>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+modelPath);
modelPath = modelPath.replaceAll("/", "\\\\");
wordManager.openDocument(modelPath);
if(seaman!=null){
wordManager.moveStart();
wordManager.replaceAllText("cyname", seaman.getIname());
wordManager.moveStart();
wordManager.replaceAllText("cyjob", Tool.changFlagToValue(seaman.getJob(), "A"));
wordManager.moveStart();
wordManager.replaceAllText("cybirthday", seaman.getBday());
wordManager.moveStart();
wordManager.replaceAllText("cyaddress", seaman.getAddress());
wordManager.moveStart();
wordManager.replaceAllText("cymarray", seaman.getMarry());
wordManager.moveStart();
wordManager.replaceAllText("cyeducation", Tool.changFlagToValue(seaman.getJob(), "C"));
wordManager.moveStart();
wordManager.replaceAllText("cyschool", seaman.getSchool());
wordManager.moveStart();
wordManager.replaceAllText("cyenglishlevel", seaman.getForeign_level());
if(!("-1").equals(seaman.getCerturl())){
String pictureUrl = getClassPath();
try {
DownLoad downLoad = new DownloadServices().queryDownload(seaman
.getCerturl());
if (downLoad != null)
pictureUrl += downLoad.saveFile("download/seamanmodel/doc/");
} catch (Exception e1) {
e1.printStackTrace();
SeamanLogger.getLogger().debug(e1.toString());
}
pictureUrl = pictureUrl.replaceAll("/", "\\\\");
File file = new File(pictureUrl);
if(file.exists()){
wordManager.moveStart();
wordManager.replaceAllImage("cyphotoshop", pictureUrl);
file.delete();
}
}
}
this.getCert(Tool.CERT_HYZ);
if(cert!=null){
wordManager.moveStart();
wordManager.replaceAllText("cycertname", cert.getCertnumber());
wordManager.moveStart();
wordManager.replaceAllText("cystartdate", cert.getStartdate());
wordManager.moveStart();
wordManager.replaceAllText("cyenddate", cert.getEnddate());
}else{
wordManager.moveStart();
wordManager.replaceAllText("cycertname", "");
wordManager.moveStart();
wordManager.replaceAllText("cystartdate", "");
wordManager.moveStart();
wordManager.replaceAllText("cyenddate", "");
}
this.getCert(Tool.CERT_SFZ);
if(cert!=null){
wordManager.moveStart();
wordManager.replaceAllText("cysfz", cert.getCertnumber());
}else{
wordManager.moveStart();
wordManager.replaceAllText("cysfz", "");
}
this.getCert(Tool.CERT_FWB);
if(cert!=null){
wordManager.moveStart();
wordManager.replaceAllText("cyfwb", cert.getCertnumber());
}else{
wordManager.moveStart();
wordManager.replaceAllText("cyfwb", "");
}
this.getHealth();
if(isHealth){
wordManager.moveStart();
wordManager.replaceAllText("cyishealth", "有");
}else{
wordManager.moveStart();
wordManager.replaceAllText("cyishealth", "无");
}
if(isShoushu){
wordManager.moveStart();
wordManager.replaceAllText("cyisshoushu", "有");
}else{
wordManager.moveStart();
wordManager.replaceAllText("cyisshoushu", "无");
}
wordManager.moveStart();
wordManager.replaceAllText("cyhealth", healthDiscribe);
this.getServerList();
if(list!=null){
for(int i=0; i<list.size()&&i<3; i++){
Server server = list.get(i);
if(Tool.daysOfTwo(Tool.getDate(), server.getOutshipdate())<1095){
Ship ship = new ShipDao().getShipByID(server.getShipid());
wordManager.moveStart();
wordManager.replaceAllText("cyshipname"+(i+1), ship==null?"":ship.getShipName());
wordManager.moveStart();
wordManager.replaceAllText("cytongwei"+(i+1), ship==null?"":(ship.getDeadWeight()+"/"+ship.getPower()));
wordManager.moveStart();
wordManager.replaceAllText("jobname"+(i+1), Tool.changFlagToValue(server.getJobname(), "A"));
wordManager.moveStart();
wordManager.replaceAllText("cyupdowndate"+(i+1), server.getOnshipdate()+"/"+server.getOnshipdate());
wordManager.moveStart();
wordManager.replaceAllText("cyre"+(i+1), server.getLichuanre());
}
}
}
save_path = this.getPath()+"//"+seaman.getIname()+Tool.getLongDate()+".doc";
wordManager.saveFileAs(save_path);
wordManager.setSaveOnExit(false);
wordManager.closeDocument();
wordManager.closeWord();
}
public boolean generateWordProxy(){
boolean isSuccess = false;
try {
generateWord();
isSuccess = true;
} catch (Exception e) {
isSuccess = false;
wordManager.closeDocument();
wordManager.closeWord();
}
return isSuccess;
}
private String getClassPath(){
File file = new File("");
String path = file.getAbsolutePath();
path = path.replaceAll("\\\\", "/");
return path+"/";
}
public static void main(String[] args){
// SeamanToWord seamanToWord = new SeamanToWord(101);
// System.out.println(seamanToWord.getClassPath());
}
}
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;public class MSWordManager {
// word文档
private Dispatch doc; // word运行程序对象
private ActiveXComponent word; // 所有word文档集合
private Dispatch documents; // 选定的范围或插入点
private Dispatch selection; private boolean saveOnExit = true; /**
*
* @param visible 为true表示word应用程序可见
*/
public MSWordManager(boolean visible) {
if (word == null) {
word = new ActiveXComponent("Word.Application");
word.setProperty("Visible", new Variant(visible));
}
if (documents == null)
documents = word.getProperty("Documents").toDispatch();
} /**
* 设置退出时参数
*
* @param saveOnExit boolean true-退出时保存文件,false-退出时不保存文件
*/
public void setSaveOnExit(boolean saveOnExit) {
this.saveOnExit = saveOnExit;
} /**
* 创建一个新的word文档
*
*/
public void createNewDocument() {
doc = Dispatch.call(documents, "Add").toDispatch();
selection = Dispatch.get(word, "Selection").toDispatch();
} /**
* 打开一个已存在的文档
*
* @param docPath
*/
public void openDocument(String docPath) {
//closeDocument();
doc = Dispatch.call(documents, "Open", docPath).toDispatch();
selection = Dispatch.get(word, "Selection").toDispatch();
} /**
* 把选定的内容或插入点向上移动
*
* @param pos 移动的距离
*/
public void moveUp(int pos) {
if (selection == null)
selection = Dispatch.get(word, "Selection").toDispatch();
for (int i = 0; i < pos; i++)
Dispatch.call(selection, "MoveUp"); } /**
* 把选定的内容或者插入点向下移动
*
* @param pos 移动的距离
*/
public void moveDown(int pos) {
if (selection == null)
selection = Dispatch.get(word, "Selection").toDispatch();
for (int i = 0; i <pos; i++)
Dispatch.call(selection, "MoveDown");
} /**
* 把选定的内容或者插入点向左移动
*
* @param pos 移动的距离
*/
public void moveLeft(int pos) {
if (selection == null)
selection = Dispatch.get(word, "Selection").toDispatch();
for (int i = 0; i <pos; i++) {
Dispatch.call(selection, "MoveLeft");
}
} /**
* 把选定的内容或者插入点向右移动
*
* @param pos 移动的距离
*/
public void moveRight(int pos) {
if (selection == null)
selection = Dispatch.get(word, "Selection").toDispatch();
for (int i = 0; i < pos; i++)
Dispatch.call(selection, "MoveRight");
} /**
* 把插入点移动到文件首位置
*
*/
public void moveStart() {
if (selection == null)
selection = Dispatch.get(word, "Selection").toDispatch();
Dispatch.call(selection, "HomeKey", new Variant(6));
}
public void moveEnd() {
if (selection == null)
selection = Dispatch.get(word, "Selection").toDispatch();
Dispatch.call(selection, "EndKey", new Variant(6));
} /**
* 从选定内容或插入点开始查找文本
*
* @param toFindText 要查找的文本
* @return boolean true-查找到并选中该文本,false-未查找到文本
*/
public boolean find(String toFindText) {
if (toFindText == null || toFindText.equals(""))
return false;
// 从selection所在位置开始查询
Dispatch find = word.call(selection, "Find").toDispatch();
// 设置要查找的内容
Dispatch.put(find, "Text", toFindText);
// 向前查找
Dispatch.put(find, "Forward", "True");
// 设置格式
//Dispatch.put(find, "Format", "True");
// 大小写匹配
//Dispatch.put(find, "MatchCase", "True");
// 全字匹配
//Dispatch.put(find, "MatchWholeWord", "True");
// 查找并选中
return Dispatch.call(find, "Execute").getBoolean();
} /**
* 把选定内容设定为替换文本
*
* @param toFindText 查找字符串
* @param newText 要替换的内容
* @return
*/
public boolean replaceText(String toFindText, String newText) {
if (!find(toFindText))
return false;
Dispatch.put(selection, "Text", newText);
return true;
}