我的电脑的os为 win7旗舰版 32位 word为2010
1.下载jacob1-17 http://sourceforge.net/projects/jacob-project/?source=dlp
2.解压后 将jacob-1.17-x86.dll放到 C:\Windows\System32目录下
3.新建java工程 将解压后的jacob.jar放入到工程下
4.编写测试文件 Jacob1_17Test.java
package com.undergrowth;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class Jacob1_17Test {
/**
* @param args
* 1.先获取word对象
* 2.获取word文档集合属性
* 3.获取word文档属性
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//1.获取word对象
ActiveXComponent wordObject=new ActiveXComponent("Word.Application");
//设置word对象可见
wordObject.setProperty("Visible", new Variant(true));
//2.获取word文档集合属性
Dispatch documents=Dispatch.get(wordObject, "documents").toDispatch();
//3.获取word文档属性 在d盘下有一个名为jacob.doc文档
Dispatch document=Dispatch.call(documents, "Open", "d:\\jacob.doc").toDispatch();
//4.向word中添加内容
Dispatch insertDocument=Dispatch.get(wordObject, "Selection").getDispatch();
//默认插入点在文件首位置
Dispatch.call(insertDocument, "TypeText", "新添加的内容1");
//插入的为一段文本 起到分行的作用
Dispatch.call(insertDocument, "TypeParagraph");
//将插入点移动到文件末尾
Dispatch.call(insertDocument, "EndKey", new Variant(6));
Dispatch.call(insertDocument, "TypeText", "\n新添加的内容2");
//5.将添加的内容保存到另一个地方
Dispatch.call(Dispatch.get(wordObject, "WordBasic").getDispatch(), "FileSaveAs", "d:\\jacob_new.doc");
}
}
上面干了三件事
1.打开位于d:\\jacob.doc下的word(当然你的新建了) 内容为
2.向word中添加了两个文本信息 效果图为:
3.保存为另外一个文件d:\\jacob_new.doc