8 votes

OpenOffice Python macros: Où puis-je trouver une documentation utile?

Je cherche à faire une macro pour OpenOffice Calc qui permettra de basculer la couleur de fond des cellules contenant une valeur spécifiée par l'utilisateur. Comme je ne connais pas OpenOffice Basic et n'ai aucune envie de l'apprendre, j'aimerais écrire ma macro en Python.

Le problème est que je ne trouve aucune documentation utile sur la façon d'écrire des macros Python. D'après ce que j'ai lu, il semble que je ne peux pas mettre en place un environnement dynamique permettant d'examiner directement le(s) objet(s) approprié(s), je devrais donc me fier uniquement à la documentation. Où puis-je apprendre à écrire ma macro ?

EDIT :

Je suis déjà au courant de "Python as a Macro Language," mais cela ne répond qu'à la question où placer les fichiers Python. Il ne dit rien sur l'API, comment rechercher et modifier des cellules, etc.

De plus, il n'y a aucune information sur XSCRIPTCONTEXT, que OOo semble fournir en tant que variable globale. Comme je ne peux pas exécuter de manière interactive, je ne peux pas vraiment interroger cette variable pour en apprendre davantage.

EDIT 2 :

J'ai trouvé plusieurs pages qui donnent des morceaux d'informations, mais elles sont soit terriblement incomplètes, soit elles supposent une connaissance préexistante exhaustive de l'API UNO. Jusqu'à présent, je n'ai rien trouvé d'utile. Je n'ai tout simplement pas le temps d'essayer d'apprendre l'intégralité de l'API juste pour comprendre une partie de celle-ci, surtout que je devrais apprendre le C++ juste pour comprendre la syntaxe utilisée dans la documentation.

2voto

JannieT Points 2160

J'ai traversé les mêmes démarches et ai donc rédigé un article de blog pour partager avec d'autres ce que j'ai appris. Dommage que maintenant (presque six ans plus tard), la documentation et les exemples soient encore si rares.

Pour apprendre l'api, consultez les deux fonctions d'aide dans dev.py

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

Concernant votre besoin spécifique d'explorer XSCRIPTCONTEXT - il n'est pas disponible lors de l'exécution via le socket, mais vous pouvez explorer l'interface ici:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X