2014-12-04 3 views
1

Я хотел создать несколько макросов для LibreOffice с помощью BASIC. Однако я не могу найти описание API. Он отсутствует в помощи, а также в interet. Когда я пытаюсь google, я получаю массу примеров в C++, Java, Python, но не один www с BASIC.Где я могу найти дескриптор LibreOffice API для BASIC

Например, где я могу получить иерархию объектов и их методы?

ответ

3

LibreOffice Basic использует по существу тот же API, что и PyUNO и Java. То есть все они используют API UNO. Чтобы начать работу, OpenOffice development guide помогает описать два основных способа перехода в иерархию объектов: переменные GlobalThisComponent и, реже, 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) ....

Смежные вопросы