关闭时OpenOffice“打印”宏错误

时间:2011-10-24 19:12:44

标签: c# printing macros openoffice.org

在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

1 个答案:

答案 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