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