jacob的一个问题,SaveAS设了路径还是会弹出保存文件的窗口

idwendy 2013-12-30 08:04:53
不知道是不是系统(win8 64位)问题,我在另一台机上win7(32位),同样的office版本,同样的jdk和jar包,ddl一个是X86一个是X64,都是一起下载的,为什么在win8系统SaveAs的时候就是会弹出保存为的对话框,然后要你选保存路径和命名,win7一切正常。

问:怎样在SaveAs的时候不弹出保存的对话框,自动按设置的路径和命名保存。

在win8弹出对话框选择路径虽然也可以保存成功,但跟我的需求不一样,而且保存成功后在eclipse控制台会弹出错误:
Source: Microsoft Word

com.jacob.com.ComFailException: Invoke of: SaveAs
Source: Microsoft Word
Description: 命令失败

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 com.bin.wordManager.WordToHtml.wordToHtml(WordToHtml.java:44)
at com.bin.wordManager.WordToHtml.main(WordToHtml.java:17)


代码:
public class WordToHtml {

// 8 代表word保存成html
public static final int WORD_HTML = 8;

public static void main(String[] args) {
String docfile = "D:\\test.doc";
String htmlfile = "C:\\haha.html";
WordToHtml.wordToHtml(docfile, htmlfile);
}

/**
* WORD转HTML
* @param docfile WORD文件全路径
* @param htmlfile 转换后HTML存放路径
*/
public static void wordToHtml(String docfile, String htmlfile)
{
// 启动word应用程序(Microsoft Office Word 2003)
ActiveXComponent app = new ActiveXComponent("Word.Application");
System.out.println("*****正在转换...*****");
try
{
// 设置word应用程序不可见
app.setProperty("Visible", new Variant(false));
// documents表示word程序的所有文档窗口,(word是多文档应用程序)
Dispatch docs = app.getProperty("Documents").toDispatch();
// 打开要转换的word文件
Dispatch doc = Dispatch.invoke(
docs,
"Open",
Dispatch.Method,
new Object[] { docfile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
// 作为html格式保存到临时文件
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
htmlfile, new Variant(WORD_HTML) }, new int[1]);
// 关闭word文件
Dispatch.call(doc, "Close", new Variant(false));
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
//关闭word应用程序
app.invoke("Quit", new Variant[] {});
}
System.out.println("*****转换完毕********");
}
}
...全文
348 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吴里庆庆 2016-03-07
  • 打赏
  • 举报
回复
这个后来怎么解决,我也 是在Main文件能运行,但是在tomcat启动后就不能。。
idwendy 2014-01-08
  • 打赏
  • 举报
回复
dandan碎了,难道要重装win7系统?真是舍不得win8的快速开机模式啊..
idwendy 2013-12-31
  • 打赏
  • 举报
回复
没有人会么?自己顶一下

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧