Макросы OpenOffice Python: где можно найти полезную документацию? - PullRequest
7 голосов
/ 10 мая 2011

Я пытаюсь создать макрос для OpenOffice Calc, который будет переключать цвет фона ячеек, содержащих указанное пользователем значение.Поскольку я не знаю OpenOffice Basic и не хочу его изучать, я хотел бы написать свой макрос на Python.

Проблема в том, что я не могу найти какую-либо полезную документацию по написанию Pythonмакросы.Из прочитанного мною чтения выясняется, что я не могу настроить динамическую среду, в которой я могу самостоятельно исследовать соответствующие объекты, поэтому мне придется полагаться исключительно на документацию.Где я могу узнать, как написать свой макрос?

РЕДАКТИРОВАТЬ:

Я уже знаю о " Python как макроязыке * ", но он только отвечает, куда поместить Pythonфайлы.В нем ничего не говорится об API, о том, как искать и изменять ячейки и т. Д.

Кроме того, нет информации о XSCRIPTCONTEXT, которую OOo, очевидно, предоставляет в качестве глобальной переменной.Поскольку я не могу работать в интерактивном режиме, я не могу на самом деле запросить эту переменную, чтобы узнать об этом.

РЕДАКТИРОВАТЬ 2:

Я нашел несколько страниц, которые дают кусочки и кусочкиинформация, но они либо ужасно неполны, либо предполагают всестороннее предварительное знание API UNO.Пока что я не нашел ничего полезного.У меня просто нет времени, чтобы попытаться изучить весь API только для того, чтобы я мог понять одну его часть - тем более, что мне пришлось бы изучать C ++ только для того, чтобы я мог понять синтаксис, используемый в документации.

1 Ответ

2 голосов
/ 08 февраля 2017

Я сделал то же самое и написал сообщение в блоге, чтобы поделиться с другими тем, что я узнал. Жаль, что сейчас (почти шесть лет спустя) документация и примеры все еще так скудны.

Для изучения API, посмотрите две вспомогательные функции в dev.py

https://onesheep.org/scripting-libreoffice-python/

О вашей конкретной необходимости изучить XSCRIPTCONTEXT - она ​​недоступна при работе через сокет, но вы можете изучить интерфейс здесь:

http://www.openoffice.org/api/docs/common/ref/com/sun/star/script/provider/XScriptContext.html

...