Difference between revisions of "ES/Manuales/GuiaAOO/TemasAvanzados/Macros/Python/MiPrimeraMacro"
m |
m |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{DISPLAYTITLE:Mi | + | {{DISPLAYTITLE:Mi primer macro}} |
=== Mi primer macro === | === Mi primer macro === | ||
Line 66: | Line 66: | ||
[[File:pyuno004.png]] | [[File:pyuno004.png]] | ||
+ | |||
Selecciona cualquiera de las tres y presiona Ejecutar, el resultado, debe ser igual al de la siguiente imagen: | Selecciona cualquiera de las tres y presiona Ejecutar, el resultado, debe ser igual al de la siguiente imagen: | ||
Line 71: | Line 72: | ||
[[File:pyuno005.png]] | [[File:pyuno005.png]] | ||
− | |||
− | [[Category:Manuales]] | + | {{ES/Foro|macros}} |
+ | |||
+ | [[Category:ES]][[Category:Manuales]][[Category:ES/Python]] |
Latest 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:
- El archivo del usuario Mis Macros...
- Las macros del programa
- Dentro del documento
Selecciona cualquiera de las tres y presiona Ejecutar, el resultado, debe ser igual al de la siguiente imagen:
Si tienes dudas acerca de lo aquí explicado, tienes algún problema con AOO, o quieres ampliar la información, no dudes en dirigirte al {{#switch: macros |
indice = Índice del Foro Oficial en español de Apache OpenOffice | writer = Foro Oficial en español de Apache OpenOffice para Writer | calc = Foro Oficial en español de Apache OpenOffice para Calc | impress = Foro Oficial en español de Apache OpenOffice para Impress | draw = Foro Oficial en español de Apache OpenOffice para Draw | base = Foro Oficial en español de Apache OpenOffice para Base | math = Foro Oficial en español de Apache OpenOffice para Math | macros = Foro Oficial en español de Apache OpenOffice para Macros y API UNO | extensiones = Foro Oficial en español de Apache OpenOffice para Extensiones | comunidad = Foro Oficial en español de Apache OpenOffice para la Comunidad | macros
}} |