关于jacob插件打开word文件的路径问题
程序代码如下:public void mhtToWord(String mhtFile, String wordFile) {
ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word
try {
app.setProperty("Visible", new Variant(false));
Dispatch wordDoc = app.getProperty("Documents").toDispatch();
wordDoc = Dispatch.invoke(wordDoc, "Add", Dispatch.Method,
new Object[0], new int[1]).toDispatch();
Dispatch.invoke(app.getProperty("Selection").toDispatch(),
"InsertFile", Dispatch.Method, new Object[] { mhtFile, "",
new Variant(false), new Variant(false),
new Variant(false) }, new int[3]);
Dispatch.invoke(wordDoc, "SaveAs", Dispatch.Method, new Object[] {
wordFile, new Variant(1) }, new int[1]);
Dispatch.call(wordDoc, "Close", new Variant(false));
} catch (Exception e){
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
ComThread.Release();
}
mhtFile传进来的值为:"D:/20120227191436.html".
出现的异常为:
com.jacob.com.ComFailException: Invoke of: InsertFile
Source: Microsoft Word
Description: 文档名或其路径无效。 (D:/20120227191436.html)
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:625)
at com.jacob.com.Dispatch.invoke(Dispatch.java:498)
at org.util.WordManager.mhtToWord(WordManager.java:103)
真的不太懂为什么这里的路径或者文件名无效... 求指教 --------------------编程问答-------------------- --------------------编程问答-------------------- 求高手啊... --------------------编程问答-------------------- 最坑爹的是.用tomcat控制台启动就没有这个异常,程序运行很正常.改用tomcat7w.exe这个可视化界面启动tomcat时,就会出错 --------------------编程问答--------------------
换个盘符试试,曾经也碰到过这问题,换个盘就好了。 --------------------编程问答-------------------- 没用啊。我换过盘符也试过的。。 --------------------编程问答--------------------
我也出现这问题,请问楼主解决了吗?怎么解决的?Thanks --------------------编程问答--------------------
换盘后你重启web服务器然后再试一下了吗? --------------------编程问答-------------------- 有个dll文件你放到 jdk下面了吗~ word没有操作过~ 只是操作调用delphi了 --------------------编程问答--------------------
不是dll存放位置的问题 --------------------编程问答-------------------- 有这个文件么 换 // 试试 --------------------编程问答--------------------
谢谢,你给我了启发!要打开的文件不存在时确实会报这种错误,不过我本机的环境跟客户的环境不一样,下午我到客户那试试,祝愿是这个原因。 --------------------编程问答--------------------
1、楼主检查一下打开的文件是否确实存在
2、如果有保存的话,检查一下保存的目录是否存在
另外,找到解决办法后回复我一下,我也遇到这个问题了,我找到了以上两点原因,下午还得到客户那验证下是否是这两个原因。 --------------------编程问答--------------------
问题解决了,就是以下两个原因
1、检查一下打开的文件是否确实存在
2、如果有保存的话,检查一下保存的目录是否存在
补充:Java , Web 开发