2011-05-10 15 views
6

Estoy tratando de crear una macro para OpenOffice Calc que alternará el color de fondo de las celdas que contienen un valor especificado por el usuario. Como no conozco OpenOffice Basic y no deseo aprenderlo, me gustaría escribir mi macro en Python.Macros de OpenOffice Python: ¿Dónde puedo encontrar documentación útil?

El problema es que no encuentro ninguna documentación útil sobre cómo escribir macros de Python. Según la lectura que he hecho, parece que no puedo configurar un entorno dinámico desde el que pueda examinar los objetos apropiados por sí mismos, así que tendré que confiar únicamente en la documentación. ¿Dónde puedo aprender a escribir mi macro?

EDIT:

que ya sé sobre "Python as a Macro Language," pero sólo responde a dónde colocar los archivos de Python. No dice nada sobre la API, cómo buscar y modificar celdas, etc.

Además, no hay información sobre XSCRIPTCONTEXT, que OOo aparentemente proporciona como variable global. Como no puedo ejecutar de forma interactiva, no puedo cuestionar esa variable para conocerla.

EDIT 2:

he encontrado una serie de páginas que contienen fragmentos de información, pero son terriblemente ya sea incompleta o que suponga un amplio conocimiento preexistente de la API UNO. Hasta ahora, no he encontrado nada útil. Simplemente no tengo tiempo para tratar de aprender toda la API solo para poder entender una parte de ella, especialmente porque tendría que aprender C++ solo para poder entender la sintaxis utilizada en la documentación.

Respuesta

1

Hice los mismos movimientos y escribí una publicación en el blog para compartir con otros lo que aprendí. Lástima que ahora (casi seis años después) la documentación y los ejemplos son todavía escasos.

Para el aprendizaje de la API, echa un vistazo a las dos funciones de ayuda en dev.py

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

Sobre su necesidad específica para explorar XSCRIPTCONTEXT - no está disponible cuando se ejecuta a través de la toma de corriente, pero se puede explorar la interfaz aquí:

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

Cuestiones relacionadas