• java 调用word


    java 调用word
    文章出处:http://www.diybl.com/course/3_program/java/javajs/200843/108206.html

    package com.test;

    import com.jacob.activeX.ActiveXComponent;
    import com.jacob.com.Dispatch;
    import com.jacob.com.Variant;

    public class WordBean extends java.awt.Panel {
         private ActiveXComponent MsWordApp = null;

         private Dispatch document = null;  

         public WordBean() {
               super();
         }

     // 打开word文档
         public void openWord(boolean makeVisible) {

               if (MsWordApp == null) {
                     MsWordApp = new ActiveXComponent("Word.Application");
               }
      // 设置打开word文档是否可见
          Dispatch.put(MsWordApp, "Visible", new Variant(makeVisible));
          }

     // 打开wordDocument
          public void openWordDocument(String openFile) {
                 Dispatch documents = Dispatch.get(MsWordApp, "Documents").toDispatch();
                 document = Dispatch.invoke(documents, "Open",Dispatch.Method,
                 new Object[] { openFile, new Variant(false),
                 new Variant(true) }, new int[1]).toDispatch();
           }

     // 创建word文档
            public void createNewDocument() {
      // Find the Documents collection object maintained by Word
                   Dispatch documents = Dispatch.get(MsWordApp, "Documents").toDispatch();

                  document = Dispatch.call(documents, "Add").toDispatch();
            }

     // 插入内容
             public void insertText(String textToInsert) {
      // Get the current selection within Word at the moment. If
      // a new document has just been created then this will be at
      // the top of the new doc
                  Dispatch selection = Dispatch.get(MsWordApp, "Selection").toDispatch();

                  Dispatch.put(selection, "Text", textToInsert);
              }

     // 文件另存为
               public void saveFileAs(String saveFile) {
                      Dispatch.invoke(document, "SaveAs", Dispatch.Method, new Object[] {
                         saveFile, new Variant(0) }, new int[1]);
                      Variant variant = new Variant(false);
                      Dispatch.call(document, "Close", variant);
     
                  //   Dispatch.call(document, "SaveAs", saveFile);
               }

               public void printFile() {
              // Just print the current document to the default printer
                     Dispatch.call(document, "PrintOut");
                }

     // 关闭word文档
               public void closeDocument() {
                    // 0 = wdDoNotSaveChanges
                    // -1 = wdSaveChanges
                    // -2 = wdPromptToSaveChanges
                   Dispatch.call(document, "Close", new Variant(0));
                   document = null;
               }

     // 关闭officeWord
               public void closeWord() {
                       Dispatch.call(MsWordApp, "Quit");
                       MsWordApp = null;
                      document = null;
               }

     // 替换文本
     public void replace(String oldText, String newText) {
                       Dispatch selection = Dispatch.get(MsWordApp, "Selection").toDispatch();

                       Dispatch find = MsWordApp.call(selection, "Find").toDispatch();

                       Dispatch.put(find, "Text", oldText);
                       Dispatch.call(find, "Execute");
                       Dispatch.put(selection, "Text", newText);
     
                       Dispatch.call(selection, "MoveRight");
     
     
               }

    }

    package com.test;

    public class WordTest {

            public static void main(String[] args) {
                  WordBean word = new WordBean();
                  word.openWord(false);
                  //  word.createNewDocument();
                  //  word.insertText("1234567890");
                  //  word.saveFileAs("d:""1.doc");
     
                 word.openWordDocument("d:""1.doc");
                 word.replace("2", "xx"); //替换
                 word.replace("3", "yy");
                 word.saveFileAs("d:""2.doc");
                   //  word.closeDocument();
                 word.closeWord();

             }

    }
  • 相关阅读:
    【★】路由环路大总结!
    自制tunnel口建虚拟专网实验
    自制tunnel口建虚拟专网实验
    自制tunnel口建虚拟专网实验
    常用的组播保留地址列表
    常用的组播保留地址列表
    常用的组播保留地址列表
    程序员经常遇到的几个问题!
    ★路由递归查询方法及相关图示【转载】
    ★路由递归查询方法及相关图示【转载】
  • 原文地址:https://www.cnblogs.com/xinxindiandeng/p/1350384.html
Copyright © 2020-2023  润新知