Java操作Microsoft Word之jacob(2)

xiaoxiao2026-08-14  27

window.google_render_ad();/** *//** * 创建表格 *      * @param pos    位置 * @param cols 列数 * @param rows 行数 */ 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");         }         /** *//**          * 自动调整表格          *              */         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");                 }         }         /** *//**          * 调用word里的宏以调整表格的宽度,其中宏保存在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");                 }         }         /** *//**          * 设置当前选定内容的字体          *              * @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);         }         /** *//**          * 关闭当前word文档          *              */         public void closeDocument() {                 if (doc != null) {                         Dispatch.call(doc, "Save");                         Dispatch.call(doc, "Close", new Variant(saveOnExit));                         doc = null;                 }         }         /** *//**          * 关闭全部应用          *              */         public void close() {                 closeDocument();                 if (word != null) {                         Dispatch.call(word, "Quit");                         word = null;                 }                 selection = null;                 documents = null;         }         /** *//**          * 打印当前word文档          *              */         public void printFile() {                 if (doc != null) {                         Dispatch.call(doc, "PrintOut");                 }         }         public static void main(String args[])throws Exception {                           MSWordManager msWordManager = new MSWordManager(true);                 msWordManager.createNewDocument();                                                   msWordManager.insertText("aaaaaaaaaaaaaaaaaaaaa");                 msWordManager.moveEnd();                                                            msWordManager.close();         }                   }139邮箱、飞信全面互通,聊天、发信一步到位! 开箱有礼百分百,优惠影票月月送 Java操作Microsoft Word之jacob(2) 豆豆网 技术应用频道 2009年04月09日 【字号:小 中 大】 收藏本文 关键字: JProfiler memcached JavaCC EclEmma Jester Java操作Microsoft Word之jacob(2)。 /** *//**          * 创建表格          *               * @param pos    位置          * @param cols 列数          * @param rows 行数          */         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");         }         /** *//**          * 自动调整表格          *              */         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");                 }         }         /** *//**          * 调用word里的宏以调整表格的宽度,其中宏保存在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");                 }         }         /** *//**          * 设置当前选定内容的字体          *              * @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);         }         /** *//**          * 关闭当前word文档          *              */         public void closeDocument() {                 if (doc != null) {                         Dispatch.call(doc, "Save");                         Dispatch.call(doc, "Close", new Variant(saveOnExit));                         doc = null;                 }         }         /** *//**          * 关闭全部应用          *              */         public void close() {                 closeDocument();                 if (word != null) {                         Dispatch.call(word, "Quit");                         word = null;                 }                 selection = null;                 documents = null;         }         /** *//**          * 打印当前word文档          *              */         public void printFile() {                 if (doc != null) {                         Dispatch.call(doc, "PrintOut");                 }         }         public static void main(String args[])throws Exception {                           MSWordManager msWordManager = new MSWordManager(true);                 msWordManager.createNewDocument();                                                   msWordManager.insertText("aaaaaaaaaaaaaaaaaaaaa");                 msWordManager.moveEnd();                                                            msWordManager.close();         }                   } 相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5051207.html

最新回复(0)