modifyDocByBook()方法用于查找doc文档中名为LB_0的书签
并把该书签中的文本内容替换成新内容
请问在替换书签体中的内容时,能否保留LB_0书签,令它不被删除
或者是在新插入的文本内容上加上新的书签?
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;public static void modifyDocByBook() {
ActiveXComponent app = new ActiveXComponent("Word.Application");
String inFile = "D:\\ligy\\my ebooks\\j4office\\testfile\\wordtemplet_src.doc";
String bookMarkKey = "LB_0";
try {
app.setProperty("Visible", new Variant(true));
Dispatch documents = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.call(documents, "Open", inFile).toDispatch();
Dispatch activeDocument = app.getProperty("ActiveDocument").toDispatch();
Dispatch bookMarks = app.call(activeDocument, "Books").toDispatch();
boolean bookMarkExist1 = Dispatch.call(bookMarks, "Exists",bookMarkKey).toBoolean();
if (bookMarkExist1 == true) {
System.out.println("已找到书签"+bookMarkKey);
Dispatch rangeItem = Dispatch.call(bookMarks, "Item",bookMarkKey).toDispatch();
Dispatch range = Dispatch.call(rangeItem, "Range").toDispatch();
String bookMarkValue = Dispatch.get(range, "Text").toString();
System.out.println("从书签"+bookMarkKey+"中抓取的内容如下:"+bookMarkValue);
bookMarkValue = "书签"+bookMarkKey+"中的段落内容已经被删除啦,现在你看到的是替换过来的内容哦,嘿嘿!";
if (bookMarkValue != null) {
Dispatch.put(range, "Text", new Variant(bookMarkValue));
//Dispatch.put(range,"Books","LB_001");
}
} else {
System.out.println("指定的书签不存在");
}
Dispatch.call(doc, "Save");
Dispatch.call(doc, "Close", new Variant(true));
doc = null;
if (app != null) {
Dispatch.call(app, "Quit");
app = null;
}
documents = null;
} catch (Exception e) {
e.printStackTrace();
}
}
并把该书签中的文本内容替换成新内容
请问在替换书签体中的内容时,能否保留LB_0书签,令它不被删除
或者是在新插入的文本内容上加上新的书签?
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;public static void modifyDocByBook() {
ActiveXComponent app = new ActiveXComponent("Word.Application");
String inFile = "D:\\ligy\\my ebooks\\j4office\\testfile\\wordtemplet_src.doc";
String bookMarkKey = "LB_0";
try {
app.setProperty("Visible", new Variant(true));
Dispatch documents = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.call(documents, "Open", inFile).toDispatch();
Dispatch activeDocument = app.getProperty("ActiveDocument").toDispatch();
Dispatch bookMarks = app.call(activeDocument, "Books").toDispatch();
boolean bookMarkExist1 = Dispatch.call(bookMarks, "Exists",bookMarkKey).toBoolean();
if (bookMarkExist1 == true) {
System.out.println("已找到书签"+bookMarkKey);
Dispatch rangeItem = Dispatch.call(bookMarks, "Item",bookMarkKey).toDispatch();
Dispatch range = Dispatch.call(rangeItem, "Range").toDispatch();
String bookMarkValue = Dispatch.get(range, "Text").toString();
System.out.println("从书签"+bookMarkKey+"中抓取的内容如下:"+bookMarkValue);
bookMarkValue = "书签"+bookMarkKey+"中的段落内容已经被删除啦,现在你看到的是替换过来的内容哦,嘿嘿!";
if (bookMarkValue != null) {
Dispatch.put(range, "Text", new Variant(bookMarkValue));
//Dispatch.put(range,"Books","LB_001");
}
} else {
System.out.println("指定的书签不存在");
}
Dispatch.call(doc, "Save");
Dispatch.call(doc, "Close", new Variant(true));
doc = null;
if (app != null) {
Dispatch.call(app, "Quit");
app = null;
}
documents = null;
} catch (Exception e) {
e.printStackTrace();
}
}
解决方案 »
- 求助 关于struts2 使用<s:iterator> 页面生成奇怪的代码导致我表格边框有问题
- my97 如何设置日期不能超过当前日期
- 如何用HIBERNATE调用存储过程
- 服务器用tomcat,链接DB2,如何支持重链?
- 求教一个困绕了几天的Session问题!!大家来帮帮忙啊!!!
- 请教一个鼠标效果代码
- 怎样对表格的某一列进行排序?点击一下为正序,再点一下为反序?
- 不通过request和session传递,怎样才能使一个servlet中创建的对象可以在另一个servlet中使用?
- 结交eclipse 朋友
- linux下用servlet合成图像出错,请高手指点迷津,不够分再加
- Struts 配置DataSource的问题
- 大家讨论,velocity倒底是干吗的?能为我们带来什么好处..
Email:[email protected]
lz解决的话,说说怎么做的阿。
or Email:[email protected]