单身人士和自动化桥梁

时间:2017-08-30 10:42:45

标签: javascript uno uno-automation-bridge

不推荐使用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

1 个答案:

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