`
hcx_2008
  • 浏览: 122190 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java中通过jacob调用word方法

阅读更多
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-java调用word

    在使用JACOB调用Word宏之前,可以通过Visual Basic(VB)编写一个自动化的脚本来调用宏,并通过JACOB以Java代码实现相似的功能。具体来说,VB代码使用CreateObject创建Word应用程序实例,打开文档并调用宏。而Java...

    (转)Java jacob调用打印机打印word文档

    3. **打印API**:Jacob通过调用Word的COM接口,可以访问到Word的打印API。这些API允许程序控制打印过程,包括选择打印机、设置打印选项、预览和实际打印。 4. **Word Automation**:在Java中使用Jacob进行Word自动...

    java通过jacob操作word,原码

    在Jacob中,可以通过调用Word对象的相关方法来创建和操作表格,例如`Document.Tables.Add()`来插入新表格,`Table.Rows.Add()`添加行,`Table.Columns.Add()`添加列。设置字体则可以通过`Range`对象的`setBold()`, `...

    java使用jacob通过word模板生成word文档项目实例

    Java使用Jacob库通过Word模板生成Word文档是一种常见的技术实践,特别是在需要自定义生成大量结构化报告的场景下。本项目实例提供了一个完整的解决方案,可以直接在MyEclipse环境中运行。下面将详细讲解这个项目的...

    java的jacob调用OCX

    描述中强调了在Java中通过Jacob调用OCX组件时,错误处理的重要性。在使用Jacob桥接技术过程中可能会遇到各种错误,比如COM对象无法加载、方法调用失败、类型转换错误等,需要妥善处理这些异常情况,确保程序的稳定性...

    jacob调用自定义宏

    在这个示例中,我们使用jacob来调用Word的自定义宏,实现Java对Word的完美操作。 标题: jacob调用自定义宏 描述: jacob调用自定义宏实现Java对Word的完美操作 标签: jacob调用自定义宏 在这个示例中,我们首先...

    java使用jacob通过模板生成word文档完整项目

    Java使用Jacob库通过模板生成Word文档是一个常见的技术实践,尤其在企业级应用中,这种技术常用于批量生成报告、合同等文档。Jacob全称为Java Advanced COM Bridge,它为Java提供了与COM组件交互的能力,让我们可以...

    Jacob操作word 文档的方法集!(含创建目录),使用的Jacob版本是1.5

    一旦你有了Word对象,你可以使用`Dispatch`类来调用Word的各种方法。例如,打开一个现有的Word文档: ```java Dispatch doc = Dispatch.get(word, "Documents").invoke("Open", new Variant[]{filePath})....

    通过jacob实现word转为HTML

    "通过jacob实现word转为HTML"这个主题就是关于如何利用Java的一个库——Jacob来完成这项工作。Jacob是一个Java到COM桥接库,允许Java程序调用Windows COM组件,如Microsoft Office,从而实现对Office文档的操作。 ...

    jacob 操作word 文档详解

    该方法首先获取 Word 应用程序的文档集合对象,然后调用 Open 方法来打开指定的 Word 文档。 Jacob 库的优点 使用 Jacob 库来操作 Word 文档有许多优点。Jacob 库提供了一个简洁的接口,允许 Java 应用程序与 ...

    java通过jacob操作word例子

    这里提到的`jacob`库是Java和COM对象交互的一个库,它允许Java程序通过COM接口调用Windows上的Office应用程序,从而实现对Word文档的操作。下面我们将详细探讨如何使用Java和jacob库来处理Word文档。 首先,`...

    JAVA使用jacob操作MS word

    Jacob是Java语言的一个开源库,它提供了Java对COM组件的访问能力,从而让我们能够用Java调用MS Word的功能。 首先,要使用Jacob,你需要下载Jacob的库文件,通常是一个jar包(如`jacob-1.11.jar`)和对应的dll文件...

    如何利用Java-JACOB操作WORD文档

    Java-JACOB库提供了一种方式让Java程序与Microsoft的COM接口进行交互,使得开发者能够直接在Java应用中操作如MS Word和Excel等Office应用程序。本文主要探讨如何使用Java-JACOB来创建和操作Word文档。 首先,使用...

    Jawin , Jacob 调用word

    5. **Java调用Word示例**:展示使用Jawin和Jacob进行实际操作Word文档的Java代码片段,例如添加文本、插入图片、格式化文档等。 6. **问题解决和最佳实践**:可能包含了开发者在使用这些库时可能遇到的问题及其解决...

    jacob读取word表格

    而Jacob库则提供了一个解决方案,它通过JNI(Java Native Interface)将Java代码与COM接口连接起来,使得开发者能够用Java代码控制Word、Excel等Office应用。 要实现“jacob读取word表格”,首先你需要在项目中引入...

    java使用jacob将word,excel,ppt转成html

    Jacob(Java and COM Bridge)是一个 Java 库,它允许 Java 应用程序通过 COM(Component Object Model)接口与 Microsoft Office 进行交互。下面,我们将详细探讨如何使用 Jacob 实现 Word、Excel 和 PowerPoint ...

    jacob 导出word 整理

    通过上述步骤,你可以使用Jacob库在Java中方便地导出Word文档。然而,需要注意的是,Jacob仅适用于Windows环境,且与Office版本兼容性有限,对于跨平台或非Windows环境的应用,可能需要寻找其他解决方案,如Apache ...

    jacob调用word代码

    ### jacob调用Word代码详解 #### 一、前言 在进行自动化办公或文档处理时,经常会遇到需要与Microsoft Word交互的需求。JACOB(Java COM Bridge)库提供了一种简便的方式,允许Java程序通过COM接口来操作Office...

    Jacob实现word转PDF之格式最美转化

    4. **设置转换选项**:你可以通过调用Word对象的属性和方法来设置转换参数,比如页面范围、质量、布局等,以确保PDF的格式与原Word文档一致。 5. **转换为PDF**:利用Word对象的`Execute`方法,执行打印或导出操作...

    java使用jacob将word 转pdf

    - 通过`Dispatch`调用Word文档的“Open”方法打开指定的Word文档。 - 调用`SaveAs`方法将Word文档保存为PDF格式。 - 最后关闭文档和Word应用程序。 #### 三、常见问题及解决方案 ##### 1. Word文档路径有误 确保...

Global site tag (gtag.js) - Google Analytics