不推荐使用com.sun.star.frame.Desktop
类型,建议改为使用com.sun.star.frame.theDesktop
单例。
其他语言绑定支持访问单例。在Java中,this thread表示以下工作:
com.sun.star.frame.theDesktop.get(componentContext)
但是,com.sun.star.frame
命名空间在自动化网桥下是不可用的;服务经理只有一个入口点:
var objServiceManager = new ActiveXObject('com.sun.star.ServiceManager');
如何访问此(及其他)单身人士?
(最初发布于ask.libreoffice)
答案 0 :(得分:0)
在脚本上下文中使用getByName
方法访问单身人士,将字符串路径传递给单身人士:
'/singletons/com.sun.star.frame.theDesktop'
Automation桥在服务管理器的DefaultContext
属性中公开脚本上下文:
var serviceManager = new ActiveXObject('com.sun.star.ServiceManager');
var desktop = serviceManager.defaultContext.getByName('/singletons/com.sun.star.frame.theDesktop');
(由this post引导解决方案,作者试图使用Delphi自动化OpenOffice。)