在Open office中,我创建了一个用于打印文档的宏。
sub printDoc(FileName)
Dim Url as String
Url = convertToUrl(FileName)
Dim Doc as variant
Doc = starDeskTop.loadComponentFromUrl(Url, "_hidden", 0, Array())
Doc.Print(Array())
Doc.Close(True)
End Sub
我从我的c#程序中调用这个宏,宏启动,然后文档打印到达“Doc.Close(True)”行时的宏错误,有时会锁定计算机,直到程序结束为止经理。有什么我应该采取不同的做法吗?如果您需要任何其他信息,请与我们联系。 -Thanks
答案 0 :(得分:0)
这是有用的(我有一个打开的文档功能)
sub printDoc(FileName)
openDoc(FileName)
Dim opts(0) As New com.sun.star.beans.PropertyValue
opts(0).Name = "Wait"
opts(0).Value = True
thisComponent.Print (opts())
If HasUnoInterfaces(ThisComponent, "com.sun.star.util.XCloseable") Then
ThisComponent.close(true)
Else
ThisComponent.dispose
End If
End Sub
重要的部分是:
Dim opts(0) As New com.sun.star.beans.PropertyValue
opts(0).Name = "Wait"
opts(0).Value = True
thisComponent.Print (opts())
这确保我们在尝试打印文档时不会尝试关闭文档。
来源: http://user.services.openoffice.org/en/forum/viewtopic.php?f=5&t=40719