jacob 报错
有人么 请教一下JACOB
以下代码 执行的时候会不定期报错
for (int i = 0; i < 1000; i++) {
ActiveXComponent app = new ActiveXComponent("Word.Application");
try {
System.out.println("i = " + i);
String productContFilePath = "C:/cont/test/d.doc";
String savePath = "C:/cont/test/b111fcffaea" + "_" + i + ".doc";
app.setProperty("Visible", new Variant(false));
Dispatch docs = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.invoke(docs, "Open", Dispatch.Method,
new Object[] { productContFilePath, new Variant(false),
new Variant(false) }, new int[1]).toDispatch();
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
savePath, new Variant(1) }, new int[1]);
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
try {
Thread.sleep(100L);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
System.out.println("success...");
我这段代码 执行的时候 不定期的会报错
JACOB用1.9的
比如下面执行到第79次报错了
i = 76
i = 77
i = 78
com.jacob.com.ComFailException: A COM exception has been encountered:
At Invoke of: Open
Description:
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:804)
at com.jacob.com.Dispatch.invoke(Dispatch.java:483)
at com.wits.cdm.web.action.contract.TestSaveAs.main(TestSaveAs.java:23)
Exception in thread "main" com.jacob.com.ComFailException: Can't map name to dispid: Quit
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:804)
at com.jacob.com.Dispatch.callN(Dispatch.java:440)
at com.jacob.activeX.ActiveXComponent.invoke(ActiveXComponent.java:489)