java调用office_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();

}

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部