Difference between revisions of "ES/Manuales/GuiaAOO/TemasAvanzados/Macros/Python/MiPrimeraMacro"

From Apache OpenOffice Wiki
< ES‎ | Manuales‎ | GuiaAOO‎ | TemasAvanzados‎ | Macros‎ | Python
Jump to: navigation, search
m
Line 1: Line 1:
{{DISPLAYTITLE:Mi primera macro}}
+
{{DISPLAYTITLE:Mi primer macro}}
 
=== Mi primer macro ===
 
=== Mi primer macro ===
  

Revision as of 15:30, 9 May 2013

Mi primer macro

Vamos a crear nuestra primer macro con Python con el clásico "Hola Mundo", que, acabas de ver en acción, pero lo haremos paso a paso y esta vez usaremos una hoja de calculo que tienes que tener activa cuando ejecutes las pruebas.

  • Abre tu editor de texto plano favorito:
    • En Linux; geany, gedit, kate, vi, nano, etc, etc...
    • En Windows puedes usar el Block de notas, presiona WIN+R y escribes "notepad" (sin las comillas)
    • En Mac OS puedes usar TextMate que ahora es software libre.

Escribe o copia el siguiente código:

import uno
 
def HolaMundo():
	# Accedemos al modelo del documento actual 
	model = XSCRIPTCONTEXT.getDocument()
	# Accedemos a la primer hoja del documento
	hoja = model.getSheets().getByIndex(0)
	# Accedemos a la celda A1 de la hoja
	celda = hoja.getCellRangeByName("A1")
	# Escribimos en la celda
	celda.setString("Hola Mundo en Python")
	return None


Aquí, es importante mencionar que Python es muy estricto con la indentación, algunos procesadores de texto plano insertan espacios en lugar de tabulaciones, Python puede trabajar sin problemas con unos y otros, el único requisito es que sean consistentes, asegúrate de que estas efectivamente insertando tabulaciones o espacios según prefieras trabajar en cada línea de código. Guarda este código como holamundo.py

¿Dónde se guardan las macros?

Dependiendo del sistema operativo y versión de Apache OpenOffice que uses (recomendamos usar siempre la ultima versión estable), las macros pueden guardarse en:

  • La carpeta del usuario, macros solo disponibles para dicho USUARIO:
    • En Linux y OOo 3.4 en: /home/USUARIO/config/.openoffice.org/3/user/Scripts/python
    • En Windows 7 y OOo 3.4 en: C:\Users\USUARIO\AppData\Roaming\OpenOffice.org\3\user\Scripts\python
    • En Windows XP y OOo 3.4 en: C:\Documents and Settings\USUARIO\Datos de programa\OpenOffice.org\3\user\Scripts\python
  • La carpeta del programa, macros disponibles para todos los usuarios:
    • En Linux y OOo 3.4 en: /opt/openoffice.org/basis3.2/share/Scripts/python
    • En Windows 7 y OOo 3.4 en: C:\Program Files\OpenOffice.org 3\Basis\share\Scripts\python
    • En Windows XP y OOo 3.4 en: C:\Archivos de programa\OpenOffice.org 3\Basis\share\Scripts\python

Estas rutas son las predeterminadas, pueden cambiar en instalaciones personalizadas o en versiones de Apache OpenOffice alternas a la oficial. Nuestra recomendación es que siempre uses e instales la ultima versión estable oficial que puedes descargar desde aquí. En el caso de las carpetas de usuario, es posible que no encuentres la carpeta python, si es el caso, créala manualmente, escribe el nombre de esta carpeta en minúsculas. En la carpeta del programa, para escribir en ella, en Linux necesitaras permisos de administrador (root), en Windows, dependerá de las políticas de acceso del sistema.

  • Dentro del documento:

Un archivo de Apache OpenOffice es realmente un archivo ZIP con una estructura determinada, por lo que puedes, también, manipularlos con tu programa favorito para este tipo de archivos. Crea y guarda un archivo nuevo de Calc, ciérralo y ábrelo ahora con tu programa ZIP. Crea las carpetas Scripts/python en la raíz del archivo. Dentro de esta carpeta agrega los archivos con las macros, para nuestro ejemplo holamundo.py. Ahora, edita el archivo manifest.xml que esta en la carpeta META-INF, a cuyo contenido agrégale las siguientes líneas, justo antes del cierre </manifest:manifest>.

 <manifest:file-entry manifest:media-type="" manifest:full-path="Scripts/python/holamundo.py"/>
 <manifest:file-entry manifest:media-type="application/binary" manifest:full-path="Scripts/python/"/>
 <manifest:file-entry manifest:media-type="application/binary" manifest:full-path="Scripts/"/>
</manifest:manifest>


Guarda los cambios y cierra el archivo.


Ejecutando nuestra macro

El archivo holamundo.py copialo a cualquiera de las ubicaciones vistas en el apartado anterior, como ejemplo, nosotros lo hemos copiado en las tres ubicaciones, por lo que al ir al menú Herramientas | Macros | Organizar macros | Python..., podrás ver la macro en las siguientes secciones:

  1. El archivo del usuario Mis Macros...
  2. Las macros del programa
  3. Dentro del documento

Pyuno004.png

Selecciona cualquiera de las tres y presiona Ejecutar, el resultado, debe ser igual al de la siguiente imagen:

Pyuno005.png

Cualquier duda, comentario o error, háznoslo saber aquí.

Personal tools