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

From Apache OpenOffice Wiki
< ES‎ | Manuales‎ | GuiaAOO‎ | TemasAvanzados‎ | Macros‎ | Python
Jump to: navigation, search
m
Line 1: Line 1:
 +
{{DISPLAYTITLE: Conceptos iniciales}}
 
=== Organización de macros ===
 
=== Organización de macros ===
 
Las macros en PyUNO, se organizan en archivos con extensión '''py''', donde cada archivo es una biblioteca y cada función una macro. Más adelante veremos que también podemos organizarlas en clases.
 
Las macros en PyUNO, se organizan en archivos con extensión '''py''', donde cada archivo es una biblioteca y cada función una macro. Más adelante veremos que también podemos organizarlas en clases.
 +
  
 
=== Configurando nuestro entorno de trabajo ===
 
=== Configurando nuestro entorno de trabajo ===
Line 20: Line 22:
  
 
[[File:Pymacros005.png]]
 
[[File:Pymacros005.png]]
 +
  
 
Como ya se vio en la introducción, nuestras macros pueden estar en tres diferentes lugares: sección mis macros, solo disponible para el usuario actual, sección macros del sistema, disponibles para todos los usuarios y dentro de un archivo de AOO. De aquí en adelante, asumiremos que estamos trabajando en la sección mis macros, pues en este sitio es el de más fácil acceso para todos.
 
Como ya se vio en la introducción, nuestras macros pueden estar en tres diferentes lugares: sección mis macros, solo disponible para el usuario actual, sección macros del sistema, disponibles para todos los usuarios y dentro de un archivo de AOO. De aquí en adelante, asumiremos que estamos trabajando en la sección mis macros, pues en este sitio es el de más fácil acceso para todos.
Line 31: Line 34:
 
return None
 
return None
 
</source>
 
</source>
 +
 +
 
Ahora, si estas usando Linux, abre una terminal de comandos y ejecuta Apache OpenOffice (AOO de aquí en adelante) con la siguiente instrucción:
 
Ahora, si estas usando Linux, abre una terminal de comandos y ejecuta Apache OpenOffice (AOO de aquí en adelante) con la siguiente instrucción:
 
<pre>
 
<pre>
Line 111: Line 116:
 
Instala la siguiente extensión [http://extensions.services.openoffice.org/project/MRI MRI], esta maravillosa extensión nos ayudará a obtener toda la información de un '''objeto'''.
 
Instala la siguiente extensión [http://extensions.services.openoffice.org/project/MRI MRI], esta maravillosa extensión nos ayudará a obtener toda la información de un '''objeto'''.
  
[[Category:Manuales]]
+
 
 +
{{ES/Foro|macros}}
 +
 
 +
[[Category:ES]][[Category:Manuales]][[Category:ES/Python]]

Revision as of 15:37, 9 May 2013

Organización de macros

Las macros en PyUNO, se organizan en archivos con extensión py, donde cada archivo es una biblioteca y cada función una macro. Más adelante veremos que también podemos organizarlas en clases.


Configurando nuestro entorno de trabajo

Dado que AOO no incorpora ningún editor para macros en Python, tenemos que hacer uso de algún editor externo. Para empezar, recomendamos el uso de Geany, un IDE multiplataforma y multilenguaje que soporta Python.

Pymacros001.png


La configuración recomendada de trabajo para este editor es la siguiente:

Pymacros002.png


Pymacros003.png


Pymacros004.png


Pymacros005.png


Como ya se vio en la introducción, nuestras macros pueden estar en tres diferentes lugares: sección mis macros, solo disponible para el usuario actual, sección macros del sistema, disponibles para todos los usuarios y dentro de un archivo de AOO. De aquí en adelante, asumiremos que estamos trabajando en la sección mis macros, pues en este sitio es el de más fácil acceso para todos.

Dentro de la carpeta python crea un archivo que se llame mismacros.py, dentro de el escribe la siguiente macro y guardala:

import uno
 
def pruebas(): 
	print ('Todo correcto')
	return None


Ahora, si estas usando Linux, abre una terminal de comandos y ejecuta Apache OpenOffice (AOO de aquí en adelante) con la siguiente instrucción:

$ soffice -calc

Ve a Herramientas -> Macros -> Ejecutar macros... y selecciona la macro pruebas recién creada.


Py img 0001.png


Ejecuta la macro y mira el resultado en la ventana del terminal.


Py img 0002.png


Si eres usuario de otro sistema operativo, puedes usar la siguiente alternativa para mostrar cualquier mensaje en pantalla. No te preocupes por ahora de estas líneas, cada una será usada y explicada en su momento.

import uno
 
def pruebas():
    msgbox ('Todo correcto')
    return
 
def msgbox(message):
    from com.sun.star.awt import Rectangle
 
    ctx = uno.getComponentContext()
    sm = ctx.getServiceManager()
    toolkit = sm.createInstanceWithContext('com.sun.star.awt.Toolkit', ctx)
    MsgBox = toolkit.createMessageBox(
                                    toolkit.getDesktopWindow(),
                                    Rectangle(),
                                    'infobox',
                                    1,
                                    'UNOPython',
                                    str(message))
    return MsgBox.execute()


Por supuesto, verifica que funcione:


Py img 0004.png


Solo para probar nuestro entorno de trabajo, agrega dos nuevas macros y llámalas desde la primera, guarda y prueba. Recuerda de cambiar los print (puedes dejarlos si quieres) y usar nuestra macro msgbox si prefieres, también puedes ejecutar la macro pruebas con la combinación de teclas definida en el punto siguiente.

import uno
 
def pruebas():
    macro01()
    macro02()
    return
 
def macro01():
    print ('Otra macro')
    return
 
def macro02():
    print ('Una tercera')
    return


Por ultimo, para que sea sencillo llamar a esta macro, asignala a la combinación de teclas que más te guste y que, por supuesto, no este usada por AOO, se recomienda asignar esta combinación de teclas a todo AOO, para que puedas llamar la macro desde cualquier aplicación, como puedes ver en la siguiente imagen.


Py img 0003.png


Resumiendo, mientras no se indique lo contrario, todas nuestras macros de ejemplo mostradas, serán ejecutadas desde la primer macro llamada pruebas, de preferencia, con una combinación de teclas.


Utilidades de apoyo

Las siguientes herramientas, nos ayudarán en el desarrollo y estudio de macros con Python, por ahora, solo asegúrate de dejarlas trabajando como en los ejemplos, más adelante, explicaremos como trabajan y como puedes desarrollar las tuyas.

Instala la siguiente extensión MRI, esta maravillosa extensión nos ayudará a obtener toda la información de un objeto.



ES.Plantillas.Logo foro es.png
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

Foro Oficial en español de Apache OpenOffice para Macros y API UNO

Personal tools