我想使用BASIC为LibreOffice创建一些宏。但是我找不到API描述。它在帮助和intet中都不存在。当我尝试谷歌它时,我得到了大量的C ++,Java,Python的例子,但没有一个带有BASIC的www。
例如,从哪里可以获得对象的层次结构及其方法?
答案 0 :(得分:3)
LibreOffice Basic使用与PyUNO和Java基本相同的API。也就是说,它们都使用UNO API。要开始使用,OpenOffice development guide有助于描述进入对象层次结构的两种主要方式,Global
变量ThisComponent
以及不太常见的StarDesktop
。 LO Base中还有一个特殊变体ThisDatabaseDocument
。要获取这些对象的属性和方法,请执行MsgBox oObject.DBG_properties
或.DBG_methods
。通常更容易将此方法返回的较长列表复制到文本编辑器中进行搜索。您会发现所有或几乎所有的方法和属性都将在LibreOffice UNO IDL API中描述。 API的文档不具有描述性,但您可以使用该资源填写一些基本详细信息每个Object
都具有可由.DBG_properties
审核的属性。
导航对象层次结构的关键属性是.Parent
,.Model
,.CurrentController
,偶尔也会.Source
。关键方法是getByName()
和getByIndex()
。触发宏的事件通常返回一个事件对象也是有用的,该事件对象的源或父是启动宏的对象,例如命令按钮。可以通过引用该对象以及Sub
来访问该对象,即Sub SubName (oEventObject As Variant)
....