java中通过jacob调用word方法
public static void main(String[] args) {
//启动word,生成一个ActivexComponent对象
ActiveXComponent app = new ActiveXComponent("Word.Application");
//要转换的word文件
String inFile = "D:\\project\\java_word\\java_word\\wordtemplet.doc";
//要报存的目标文件
String tpFile ="D:\\project\\java_word\\java_word\\wordtemplet3.doc";
boolean flag = false;
Dispatch xlo = app.getObject();
String oldText="1234";
String newText="test";
boolean visible=false;
String bookMarkKey="LB_KJGG";
try {
//设置word不可见
app.setProperty("Visible", new Variant(visible)); 字串7
//log.info("设置word不可见成功!");
System.out.println("设置word不可见成功!");
Dispatch docs = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.invoke(docs, "Open", Dispatch.Method
,new Object[]
{inFile, new Variant(false), new Variant(true)}
, new int[1]).toDispatch(); //打开word文件
字串8
//在word2003的vba文档中application有UserName属性。
String userName=app.getPropertyAsString("UserName");
System.out.println("用户名:"+userName);
Dispatch selection=app.getProperty("Selection").toDispatch();
//得到一个组件
System.out.println("Selection");
Dispatch find = app.call(selection, "Find").toDispatch();
字串7
//查找什么文本
Dispatch.put(find, "Text", oldText);
//替换文本
Dispatch.call(find,"ClearFormatting");
Dispatch.put(find, "Text", oldText);
Dispatch.call(find, "Execute");
Dispatch.put(selection, "Text", newText);
// Dispatch.call(app, "SaveAs", inFile);
System.out.println("replace");
//把指定的值设置到指定的标签中去
Dispatch activeDocument=app.getProperty("ActiveDocument").toDispatch();
System.out.println("activedocument"); 字串1
Dispatch bookMarks = app.call(activeDocument, "Bookmarks").toDispatch();
System.out.println("bookmarks");
boolean bookMarkExist1=Dispatch.call(bookMarks,"Exists",bookMarkKey).toBoolean();
if(bookMarkExist1==true){
System.out.println("exists bookmark!");
Dispatch rangeItem = Dispatch.call(bookMarks, "Item",bookMarkKey).
toDispatch();
System.out.println("range item!");
Dispatch range = Dispatch.call(rangeItem, "Range").toDispatch(); 字串4
System.out.println("range !");
//取标签的值
String bookMarkValue=Dispatch.get(range,"Text").toString();
bookMarkValue="test";
if(bookMarkValue!=null){
Dispatch.put(range, "Text",
new Variant(bookMarkValue)); 字串4
}
}
else{
System.out.println("not exists bookmark!");
}
//保存文件
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {tpFile, new Variant(0)} , new int[1]);
//作为word格式保存到目标文件
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
flag = true;
} 字串4
catch (Exception e) {
e.printStackTrace();
}
finally {
app.invoke("Quit", new Variant[] {});
}
字串9
分享到:
相关推荐
在使用JACOB调用Word宏之前,可以通过Visual Basic(VB)编写一个自动化的脚本来调用宏,并通过JACOB以Java代码实现相似的功能。具体来说,VB代码使用CreateObject创建Word应用程序实例,打开文档并调用宏。而Java...
3. **打印API**:Jacob通过调用Word的COM接口,可以访问到Word的打印API。这些API允许程序控制打印过程,包括选择打印机、设置打印选项、预览和实际打印。 4. **Word Automation**:在Java中使用Jacob进行Word自动...
在Jacob中,可以通过调用Word对象的相关方法来创建和操作表格,例如`Document.Tables.Add()`来插入新表格,`Table.Rows.Add()`添加行,`Table.Columns.Add()`添加列。设置字体则可以通过`Range`对象的`setBold()`, `...
Java使用Jacob库通过Word模板生成Word文档是一种常见的技术实践,特别是在需要自定义生成大量结构化报告的场景下。本项目实例提供了一个完整的解决方案,可以直接在MyEclipse环境中运行。下面将详细讲解这个项目的...
描述中强调了在Java中通过Jacob调用OCX组件时,错误处理的重要性。在使用Jacob桥接技术过程中可能会遇到各种错误,比如COM对象无法加载、方法调用失败、类型转换错误等,需要妥善处理这些异常情况,确保程序的稳定性...
在这个示例中,我们使用jacob来调用Word的自定义宏,实现Java对Word的完美操作。 标题: jacob调用自定义宏 描述: jacob调用自定义宏实现Java对Word的完美操作 标签: jacob调用自定义宏 在这个示例中,我们首先...
Java使用Jacob库通过模板生成Word文档是一个常见的技术实践,尤其在企业级应用中,这种技术常用于批量生成报告、合同等文档。Jacob全称为Java Advanced COM Bridge,它为Java提供了与COM组件交互的能力,让我们可以...
一旦你有了Word对象,你可以使用`Dispatch`类来调用Word的各种方法。例如,打开一个现有的Word文档: ```java Dispatch doc = Dispatch.get(word, "Documents").invoke("Open", new Variant[]{filePath})....
"通过jacob实现word转为HTML"这个主题就是关于如何利用Java的一个库——Jacob来完成这项工作。Jacob是一个Java到COM桥接库,允许Java程序调用Windows COM组件,如Microsoft Office,从而实现对Office文档的操作。 ...
该方法首先获取 Word 应用程序的文档集合对象,然后调用 Open 方法来打开指定的 Word 文档。 Jacob 库的优点 使用 Jacob 库来操作 Word 文档有许多优点。Jacob 库提供了一个简洁的接口,允许 Java 应用程序与 ...
这里提到的`jacob`库是Java和COM对象交互的一个库,它允许Java程序通过COM接口调用Windows上的Office应用程序,从而实现对Word文档的操作。下面我们将详细探讨如何使用Java和jacob库来处理Word文档。 首先,`...
Jacob是Java语言的一个开源库,它提供了Java对COM组件的访问能力,从而让我们能够用Java调用MS Word的功能。 首先,要使用Jacob,你需要下载Jacob的库文件,通常是一个jar包(如`jacob-1.11.jar`)和对应的dll文件...
Java-JACOB库提供了一种方式让Java程序与Microsoft的COM接口进行交互,使得开发者能够直接在Java应用中操作如MS Word和Excel等Office应用程序。本文主要探讨如何使用Java-JACOB来创建和操作Word文档。 首先,使用...
5. **Java调用Word示例**:展示使用Jawin和Jacob进行实际操作Word文档的Java代码片段,例如添加文本、插入图片、格式化文档等。 6. **问题解决和最佳实践**:可能包含了开发者在使用这些库时可能遇到的问题及其解决...
而Jacob库则提供了一个解决方案,它通过JNI(Java Native Interface)将Java代码与COM接口连接起来,使得开发者能够用Java代码控制Word、Excel等Office应用。 要实现“jacob读取word表格”,首先你需要在项目中引入...
Jacob(Java and COM Bridge)是一个 Java 库,它允许 Java 应用程序通过 COM(Component Object Model)接口与 Microsoft Office 进行交互。下面,我们将详细探讨如何使用 Jacob 实现 Word、Excel 和 PowerPoint ...
通过上述步骤,你可以使用Jacob库在Java中方便地导出Word文档。然而,需要注意的是,Jacob仅适用于Windows环境,且与Office版本兼容性有限,对于跨平台或非Windows环境的应用,可能需要寻找其他解决方案,如Apache ...
### jacob调用Word代码详解 #### 一、前言 在进行自动化办公或文档处理时,经常会遇到需要与Microsoft Word交互的需求。JACOB(Java COM Bridge)库提供了一种简便的方式,允许Java程序通过COM接口来操作Office...
4. **设置转换选项**:你可以通过调用Word对象的属性和方法来设置转换参数,比如页面范围、质量、布局等,以确保PDF的格式与原Word文档一致。 5. **转换为PDF**:利用Word对象的`Execute`方法,执行打印或导出操作...
- 通过`Dispatch`调用Word文档的“Open”方法打开指定的Word文档。 - 调用`SaveAs`方法将Word文档保存为PDF格式。 - 最后关闭文档和Word应用程序。 #### 三、常见问题及解决方案 ##### 1. Word文档路径有误 确保...