我使用MSOfficeDemo/MSWord类作为入门者。
如何打印在Word中打开的文档?
在MSWord.java
课程的新方法中,我尝试过:
this.invokeNoReply("Print", this.getDocuments());
this.invokeNoReply("PrintOut", this.getDocuments());
this.invokeNoReply("FilePrint", this.getDocuments());
我为上述每个电话都收到Unknown Name
(hr = -2147352570)错误。
我现在已经找了一个星期而且没有找到解决办法。
答案 0 :(得分:0)
您需要将方法签名与文档相匹配,而不是猜测。
您需要实际打印活动文档(this.getActiveDocument()
)而不是文档集合。然后参考Document methods以查看要使用的方法(和参数),在这种情况下PrintOut是正确的方法。
您为参数传递的内容,您需要查看ComLateBindingObject中的各种方法签名并选择最符合您需求的方法(您可以传递一个或两个参数,超过您需要的数组
此代码应该可以运行...没有对其进行测试(在我的Windows VM上没有MSWord),但结合上面的链接可以让您朝着正确的方向前进:
this.invokeNoReply("PrintOut", getActiveDocument());
如果这不起作用,请尝试:
this.invokeNoReply("PrintOut", getActiveDocument().getIDispatch());
如果您确实需要传递任何参数,您将为它们创建VARIANT
并开始填写一个或多个参数(或其中的数组)。