octscorpion

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            0 Posts :: 17 Stories :: 0 Comments :: 0 Trackbacks

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

          public class MSWordManager {
           // word文檔
           private Dispatch doc;
           // word運(yùn)行程序?qū)ο?br /> private ActiveXComponent word;
           // 所有word文檔集合
           private Dispatch documents;
           // 選定的范圍或插入點(diǎn)
           private Dispatch selection;
           private boolean saveOnExit = true;

           /** */
           /**
            * @param visible
            *            為true表示word應(yīng)用程序可見
            */
           public MSWordManager(boolean visible) {
            if (word == null) {
             try {
              word = new ActiveXComponent("Word.Application");
              word.setProperty("Visible", new Variant(visible));
             } catch (Exception e) {
              e.printStackTrace();
             }
            }
            if (documents == null)
             documents = word.getProperty("Documents").toDispatch();
           }

           /** */
           /** */
           /** */
           /**
            * 設(shè)置退出時參數(shù)
            *
            * @param saveOnExit
            *            boolean true-退出時保存文件,false-退出時不保存文件
            */
           public void setSaveOnExit(boolean saveOnExit) {
            this.saveOnExit = saveOnExit;
           }

           /** */
           /** */
           /** */
           /**
            * 創(chuàng)建一個新的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();
           }

           /** */
           /** */
           /** */
           /**
            * 把選定的內(nèi)容或插入點(diǎn)向上移動
            *
            * @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");

           }

           /** */
           /** */
           /** */
           /**
            * 把選定的內(nèi)容或者插入點(diǎn)向下移動
            *
            * @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");
           }

           /** */
           /** */
           /** */
           /**
            * 把選定的內(nèi)容或者插入點(diǎn)向左移動
            *
            * @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");
            }
           }

           /** */
           /** */
           /** */
           /**
            * 把選定的內(nèi)容或者插入點(diǎn)向右移動
            *
            * @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");
           }

           /** */
           /** */
           /** */
           /**
            * 把插入點(diǎn)移動到文件首位置
            *
            */
           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));
           }

           /** */
           /** */
           /** */
           /**
            * 從選定內(nèi)容或插入點(diǎn)開始查找文本
            *
            * @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();
            // 設(shè)置要查找的內(nèi)容
            Dispatch.put(find, "Text", toFindText);
            // 向前查找
            Dispatch.put(find, "Forward", "True");
            // 設(shè)置格式
            Dispatch.put(find, "Format", "True");
            // 大小寫匹配
            Dispatch.put(find, "MatchCase", "True");
            // 全字匹配
            Dispatch.put(find, "MatchWholeWord", "True");
            // 查找并選中
            return Dispatch.call(find, "Execute").getBoolean();
           }

           /** */
           /** */
           /** */
           /**
            * 把選定選定內(nèi)容設(shè)定為替換文本
            *
            * @param toFindText
            *            查找字符串
            * @param newText
            *            要替換的內(nèi)容
            * @return
            */
           public boolean replaceText(String toFindText, String newText) {
            if (!find(toFindText))
             return false;
            Dispatch.put(selection, "Text", newText);
            return true;
           }

           /** */
           /** */
           /** */
           /**
            * 全局替換文本
            *
            * @param toFindText
            *            查找字符串
            * @param newText
            *            要替換的內(nèi)容
            */
           public void replaceAllText(String toFindText, String newText) {
            while (find(toFindText)) {
             Dispatch.put(selection, "Text", newText);
             Dispatch.call(selection, "MoveRight");
            }
           }

           /** */
           /** */
           /** */
           /**
            * 在當(dāng)前插入點(diǎn)插入字符串
            *
            * @param newText
            *            要插入的新字符串
            */
           public void insertText(String newText) {
            Dispatch.put(selection, "Text", newText);
           }

           /** */
           /** */
           /** */
           /**
            *
            * @param toFindText
            *            要查找的字符串
            * @param imagePath
            *            圖片路徑
            * @return
            */
           public boolean replaceImage(String toFindText, String imagePath) {
            if (!find(toFindText))
             return false;
            Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(),
              "AddPicture", imagePath);
            return true;
           }

           /** */
           /** */
           /** */
           /**
            * 全局替換圖片
            *
            * @param toFindText
            *            查找字符串
            * @param imagePath
            *            圖片路徑
            */
           public void replaceAllImage(String toFindText, String imagePath) {
            while (find(toFindText)) {
             Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(),
               "AddPicture", imagePath);
             Dispatch.call(selection, "MoveRight");
            }
           }

           /** */
           /** */
           /** */
           /**
            * 在當(dāng)前插入點(diǎn)插入圖片
            *
            * @param imagePath
            *            圖片路徑
            */
           public void insertImage(String imagePath) {
            Dispatch.call(Dispatch.get(selection, "InLineShapes").toDispatch(),
              "AddPicture", imagePath);
           }

           /** */
           /** */
           /** */
           /**
            * 合并單元格
            *
            * @param tableIndex
            * @param fstCellRowIdx
            * @param fstCellColIdx
            * @param secCellRowIdx
            * @param secCellColIdx
            */
           public void mergeCell(int tableIndex, int fstCellRowIdx, int fstCellColIdx,
             int secCellRowIdx, int secCellColIdx) {
            // 所有表格
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            Dispatch fstCell = Dispatch.call(table, "Cell",
              new Variant(fstCellRowIdx), new Variant(fstCellColIdx))
              .toDispatch();
            Dispatch secCell = Dispatch.call(table, "Cell",
              new Variant(secCellRowIdx), new Variant(secCellColIdx))
              .toDispatch();
            Dispatch.call(fstCell, "Merge", secCell);
           }

           /** */
           /** */
           /** */
           /**
            * 在指定的單元格里填寫數(shù)據(jù)
            *
            * @param tableIndex
            * @param cellRowIdx
            * @param cellColIdx
            * @param txt
            */
           public void putTxtToCell(int tableIndex, int cellRowIdx, int cellColIdx,
             String txt) {
            // 所有表格
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            Dispatch cell = Dispatch.call(table, "Cell", new Variant(cellRowIdx),
              new Variant(cellColIdx)).toDispatch();
            Dispatch.call(cell, "Select");
            Dispatch.put(selection, "Text", txt);
           }

           /** */
           /** */
           /** */
           /**
            * 在當(dāng)前文檔拷貝數(shù)據(jù)
            *
            * @param pos
            */
           public void copy(String toCopyText) {
            moveStart();
            if (this.find(toCopyText)) {
             Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();
             Dispatch.call(textRange, "Copy");
            }
           }

           /** */
           /** */
           /** */
           /**
            * 在當(dāng)前文檔粘帖剪貼板數(shù)據(jù)
            *
            * @param pos
            */
           public void paste(String pos) {
            moveStart();
            if (this.find(pos)) {
             Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();
             Dispatch.call(textRange, "Paste");
            }
           }

           /** */
           /** */
           /** */
           /**
            * 在當(dāng)前文檔指定的位置拷貝表格
            *
            * @param pos
            *            當(dāng)前文檔指定的位置
            * @param tableIndex
            *            被拷貝的表格在word文檔中所處的位置
            */
           public void copyTable(String pos, int tableIndex) {
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            Dispatch range = Dispatch.get(table, "Range").toDispatch();
            Dispatch.call(range, "Copy");
            if (this.find(pos)) {
             Dispatch textRange = Dispatch.get(selection, "Range").toDispatch();
             Dispatch.call(textRange, "Paste");
            }
           }

           /** */
           /** */
           /** */
           /**
            * 在當(dāng)前文檔末尾拷貝來自另一個文檔中的段落
            *
            * @param anotherDocPath
            *            另一個文檔的磁盤路徑
            * @param tableIndex
            *            被拷貝的段落在另一格文檔中的序號(從1開始)
            */
           public void copyParagraphFromAnotherDoc(String anotherDocPath,
             int paragraphIndex) {
            Dispatch wordContent = Dispatch.get(doc, "Content").toDispatch(); // 取得當(dāng)前文檔的內(nèi)容
            Dispatch.call(wordContent, "InsertAfter", "$selection$");// 插入特殊符定位插入點(diǎn)
            copyParagraphFromAnotherDoc(anotherDocPath, paragraphIndex,
              "$selection$");
           }

           /** */
           /** */
           /** */
           /**
            * 在當(dāng)前文檔指定的位置拷貝來自另一個文檔中的段落
            *
            * @param anotherDocPath
            *            另一個文檔的磁盤路徑
            * @param tableIndex
            *            被拷貝的段落在另一格文檔中的序號(從1開始)
            * @param pos
            *            當(dāng)前文檔指定的位置
            */
           public void copyParagraphFromAnotherDoc(String anotherDocPath,
             int paragraphIndex, String pos) {
            Dispatch doc2 = null;
            try {
             doc2 = Dispatch.call(documents, "Open", anotherDocPath)
               .toDispatch();
             Dispatch paragraphs = Dispatch.get(doc2, "Paragraphs").toDispatch();

             Dispatch paragraph = Dispatch.call(paragraphs, "Item",
               new Variant(paragraphIndex)).toDispatch();
             Dispatch range = Dispatch.get(paragraph, "Range").toDispatch();
             Dispatch.call(range, "Copy");
             if (this.find(pos)) {
              Dispatch textRange = Dispatch.get(selection, "Range")
                .toDispatch();
              Dispatch.call(textRange, "Paste");
             }
            } catch (Exception e) {
             e.printStackTrace();
            } finally {
             if (doc2 != null) {
              Dispatch.call(doc2, "Close", new Variant(saveOnExit));
              doc2 = null;
             }
            }
           }

           /** */
           /** */
           /** */
           /**
            * 在當(dāng)前文檔指定的位置拷貝來自另一個文檔中的表格
            *
            * @param anotherDocPath
            *            另一個文檔的磁盤路徑
            * @param tableIndex
            *            被拷貝的表格在另一格文檔中的序號(從1開始)
            * @param pos
            *            當(dāng)前文檔指定的位置
            */
           public void copyTableFromAnotherDoc(String anotherDocPath, int tableIndex,
             String pos) {
            Dispatch doc2 = null;
            try {
             doc2 = Dispatch.call(documents, "Open", anotherDocPath)
               .toDispatch();
             Dispatch tables = Dispatch.get(doc2, "Tables").toDispatch();
             Dispatch table = Dispatch.call(tables, "Item",
               new Variant(tableIndex)).toDispatch();
             Dispatch range = Dispatch.get(table, "Range").toDispatch();
             Dispatch.call(range, "Copy");
             if (this.find(pos)) {
              Dispatch textRange = Dispatch.get(selection, "Range")
                .toDispatch();
              Dispatch.call(textRange, "Paste");
             }
            } catch (Exception e) {
             e.printStackTrace();
            } finally {
             if (doc2 != null) {
              Dispatch.call(doc2, "Close", new Variant(saveOnExit));
              doc2 = null;
             }
            }
           }

           /** */
           /** */
           /** */
           /**
            * 在當(dāng)前文檔指定的位置拷貝來自另一個文檔中的圖片
            *
            * @param anotherDocPath
            *            另一個文檔的磁盤路徑
            * @param shapeIndex
            *            被拷貝的圖片在另一格文檔中的位置
            * @param pos
            *            當(dāng)前文檔指定的位置
            */
           public void copyImageFromAnotherDoc(String anotherDocPath, int shapeIndex,
             String pos) {
            Dispatch doc2 = null;
            try {
             doc2 = Dispatch.call(documents, "Open", anotherDocPath)
               .toDispatch();
             Dispatch shapes = Dispatch.get(doc2, "InLineShapes").toDispatch();
             Dispatch shape = Dispatch.call(shapes, "Item",
               new Variant(shapeIndex)).toDispatch();
             Dispatch imageRange = Dispatch.get(shape, "Range").toDispatch();
             Dispatch.call(imageRange, "Copy");
             if (this.find(pos)) {
              Dispatch textRange = Dispatch.get(selection, "Range")
                .toDispatch();
              Dispatch.call(textRange, "Paste");
             }
            } catch (Exception e) {
             e.printStackTrace();
            } finally {
             if (doc2 != null) {
              Dispatch.call(doc2, "Close", new Variant(saveOnExit));
              doc2 = null;
             }
            }
           }

           /** */
           /**
            * 創(chuàng)建表格
            *
            * @param pos
            *            位置
            * @param cols
            *            列數(shù)
            * @param rows
            *            行數(shù)
            */
           public void createTable(int numCols, int numRows) {// (String pos, int
            // numCols, int numRows)
            // {
            // if (!find(pos)) {
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            Dispatch range = Dispatch.get(selection, "Range").toDispatch();
            Dispatch newTable = Dispatch.call(tables, "Add", range,
              new Variant(numRows), new Variant(numCols)).toDispatch();
            Dispatch.call(selection, "MoveRight");
            moveEnd();
            // }
           }

           /** */
           /** */
           /** */
           /**
            * 在指定行前面增加行
            *
            * @param tableIndex
            *            word文件中的第N張表(從1開始)
            * @param rowIndex
            *            指定行的序號(從1開始)
            */
           public void addTableRow(int tableIndex, int rowIndex) {
            // 所有表格
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            // 表格的所有行
            Dispatch rows = Dispatch.get(table, "Rows").toDispatch();
            Dispatch row = Dispatch.call(rows, "Item", new Variant(rowIndex))
              .toDispatch();
            Dispatch.call(rows, "Add", new Variant(row));
           }

           /** */
           /** */
           /** */
           /**
            * 在第1行前增加一行
            *
            * @param tableIndex
            *            word文檔中的第N張表(從1開始)
            */
           public void addFirstTableRow(int tableIndex) {
            // 所有表格
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            // 表格的所有行
            Dispatch rows = Dispatch.get(table, "Rows").toDispatch();
            Dispatch row = Dispatch.get(rows, "First").toDispatch();
            Dispatch.call(rows, "Add", new Variant(row));
           }

           /** */
           /** */
           /** */
           /**
            * 在最后1行前增加一行
            *
            * @param tableIndex
            *            word文檔中的第N張表(從1開始)
            */
           public void addLastTableRow(int tableIndex) {
            // 所有表格
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            // 表格的所有行
            Dispatch rows = Dispatch.get(table, "Rows").toDispatch();
            Dispatch row = Dispatch.get(rows, "Last").toDispatch();
            Dispatch.call(rows, "Add", new Variant(row));
           }

           /** */
           /** */
           /** */
           /**
            * 增加一行
            *
            * @param tableIndex
            *            word文檔中的第N張表(從1開始)
            */
           public void addRow(int tableIndex) {
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            // 表格的所有行
            Dispatch rows = Dispatch.get(table, "Rows").toDispatch();
            Dispatch.call(rows, "Add");
           }

           /** */
           /** */
           /** */
           /**
            * 增加一列
            *
            * @param tableIndex
            *            word文檔中的第N張表(從1開始)
            */
           public void addCol(int tableIndex) {
            // 所有表格
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            // 表格的所有行
            Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
            Dispatch.call(cols, "Add").toDispatch();
            Dispatch.call(cols, "AutoFit");
           }

           /** */
           /** */
           /** */
           /**
            * 在指定列前面增加表格的列
            *
            * @param tableIndex
            *            word文檔中的第N張表(從1開始)
            * @param colIndex
            *            指定列的序號 (從1開始)
            */
           public void addTableCol(int tableIndex, int colIndex) {
            // 所有表格
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            // 表格的所有行
            Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
            System.out.println(Dispatch.get(cols, "Count"));
            Dispatch col = Dispatch.call(cols, "Item", new Variant(colIndex))
              .toDispatch();
            // Dispatch col = Dispatch.get(cols, "First").toDispatch();
            Dispatch.call(cols, "Add", col).toDispatch();
            Dispatch.call(cols, "AutoFit");
           }

           /** */
           /** */
           /** */
           /**
            * 在第1列前增加一列
            *
            * @param tableIndex
            *            word文檔中的第N張表(從1開始)
            */
           public void addFirstTableCol(int tableIndex) {
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            // 表格的所有行
            Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
            Dispatch col = Dispatch.get(cols, "First").toDispatch();
            Dispatch.call(cols, "Add", col).toDispatch();
            Dispatch.call(cols, "AutoFit");
           }

           /** */
           /** */
           /** */
           /**
            * 在最后一列前增加一列
            *
            * @param tableIndex
            *            word文檔中的第N張表(從1開始)
            */
           public void addLastTableCol(int tableIndex) {
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            // 要填充的表格
            Dispatch table = Dispatch.call(tables, "Item", new Variant(tableIndex))
              .toDispatch();
            // 表格的所有行
            Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
            Dispatch col = Dispatch.get(cols, "Last").toDispatch();
            Dispatch.call(cols, "Add", col).toDispatch();
            Dispatch.call(cols, "AutoFit");
           }

           /** */
           /** */
           /** */
           /**
            * 自動調(diào)整表格
            *
            */
           public void autoFitTable() {
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            int count = Dispatch.get(tables, "Count").toInt();
            for (int i = 0; i < count; i++) {
             Dispatch table = Dispatch.call(tables, "Item", new Variant(i + 1))
               .toDispatch();
             Dispatch cols = Dispatch.get(table, "Columns").toDispatch();
             Dispatch.call(cols, "AutoFit");
            }
           }

           /** */
           /** */
           /** */
           /**
            * 調(diào)用word里的宏以調(diào)整表格的寬度,其中宏保存在document下
            *
            */
           public void callWordMacro() {
            Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
            int count = Dispatch.get(tables, "Count").toInt();
            Variant vMacroName = new Variant("Normal.NewMacros.tableFit");
            Variant vParam = new Variant("param1");
            Variant para[] = new Variant[] { vMacroName };
            for (int i = 0; i < para.length; i++) {
             Dispatch table = Dispatch.call(tables, "Item", new Variant(i + 1))
               .toDispatch();
             Dispatch.call(table, "Select");
             Dispatch.call(word, "Run", "tableFitContent");
            }
           }

           /** */
           /** */
           /** */
           /**
            * 設(shè)置當(dāng)前選定內(nèi)容的字體
            *
            * @param boldSize
            * @param italicSize
            * @param underLineSize
            *            下劃線
            * @param colorSize
            *            字體顏色
            * @param size
            *            字體大小
            * @param name
            *            字體名稱
            */
           public void setFont(boolean bold, boolean italic, boolean underLine,
             String colorSize, String size, String name) {
            Dispatch font = Dispatch.get(selection, "Font").toDispatch();
            Dispatch.put(font, "Name", new Variant(name));
            Dispatch.put(font, "Bold", new Variant(bold));
            Dispatch.put(font, "Italic", new Variant(italic));
            Dispatch.put(font, "Underline", new Variant(underLine));
            Dispatch.put(font, "Color", colorSize);
            Dispatch.put(font, "Size", size);
           }

           /** */
           /** */
           /** */
           /**
            * 文件保存或另存為
            *
            * @param savePath
            *            保存或另存為路徑
            */
           public void save(String savePath) {
            Dispatch.call(
              (Dispatch) Dispatch.call(word, "WordBasic").getDispatch(),
              "FileSaveAs", savePath);
           }

           /** */
           /** */
           /** */
           /**
            * 關(guān)閉當(dāng)前word文檔
            *
            */
           public void closeDocument() {
            if (doc != null) {
             Dispatch.call(doc, "Save");
             Dispatch.call(doc, "Close", new Variant(saveOnExit));
             doc = null;
            }
           }

           /** */
           /** */
           /** */
           /**
            * 關(guān)閉全部應(yīng)用
            *
            */
           public void close() {
            closeDocument();
            if (word != null) {
             word.invoke("Quit", new Variant[] {});
             word = null;
            }
            selection = null;
            documents = null;
           }

           /** */
           /** */
           /** */
           /**
            * 打印當(dāng)前word文檔
            *
            */
           public void printFile() {
            if (doc != null) {
             Dispatch.call(doc, "PrintOut");
            }
           }

           public static String check() {

            try {
             MSWordManager msWordManager = new MSWordManager(true);
             msWordManager.openDocument("d:\\a.docx");

             msWordManager.insertText("aaaaaaaaaaaaaaaaaaaaa");
             msWordManager.moveEnd();

             msWordManager.close();
            } catch (Exception e) {
             e.printStackTrace();
             return "no";
            }

            return "yes";

           }

           public static void main(String args[]) {
            String ornot = check();
            System.out.print(ornot);

           }

          }

          posted on 2012-12-12 17:28 一G刀客 閱讀(232) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 弋阳县| 泊头市| 尉犁县| 陇西县| 法库县| 安平县| 新化县| 琼中| 子长县| 邹城市| 辉南县| 天峨县| 策勒县| 扎兰屯市| 合作市| 宁阳县| 宜丰县| 巫山县| 佛坪县| 湟源县| 金堂县| 安化县| 安顺市| 德保县| 潢川县| 汉寿县| 通榆县| 广河县| 蛟河市| 清苑县| 龙井市| 黑山县| 万安县| 六枝特区| 北流市| 印江| 庐江县| 延川县| 洛浦县| 柯坪县| 延安市|