easy-macro
easy-macro
Algunos por aquí conocen EasyDev: http://easydev.readthedocs.io/es/latest/
Para poder usarla, hay que instalar la extensión correspondiente, y cualquier cambio, hay que recompilar toda la extensión. Además, al ser un código Python, usado desde otro lenguajes, hay que estar haciendo un cambio constante de tipos de variables.
En cambio, easy-macro, es una librería Python para Python, lo que nos permite explotar todas las bondades y potencia de Python. Sus tareas si deciden aceptarlas son dos muy sencillas:
1.- Probar que lo que digo en la documentación funciona correctamente.
2.- Hacer su lista de deseos, es muy sencillo agregar funcionalidades a esta librería, concentrense en las más usuales.
La librería ya tiene muchas más herramientas de las que muestro en el wiki, confirmo las vaya documentado, voy avisando para quien quiera probarlas.
Agradezco la retroalimentación.
Un abrazo
Video de instalación en Windows: https://vimeo.com/226530117
Video de instalación en GNU/Linux: https://vimeo.com/226531393
Para poder usarla, hay que instalar la extensión correspondiente, y cualquier cambio, hay que recompilar toda la extensión. Además, al ser un código Python, usado desde otro lenguajes, hay que estar haciendo un cambio constante de tipos de variables.
En cambio, easy-macro, es una librería Python para Python, lo que nos permite explotar todas las bondades y potencia de Python. Sus tareas si deciden aceptarlas son dos muy sencillas:
1.- Probar que lo que digo en la documentación funciona correctamente.
2.- Hacer su lista de deseos, es muy sencillo agregar funcionalidades a esta librería, concentrense en las más usuales.
La librería ya tiene muchas más herramientas de las que muestro en el wiki, confirmo las vaya documentado, voy avisando para quien quiera probarlas.
Agradezco la retroalimentación.
Un abrazo
Video de instalación en Windows: https://vimeo.com/226530117
Video de instalación en GNU/Linux: https://vimeo.com/226531393
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
He avanzado en la documentación: https://gitlab.com/mauriciobaeza/easy-m ... s/index-es
He agregado una sección de ejemplos prácticos.
Un abrazo
He agregado una sección de ejemplos prácticos.
Un abrazo
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
He agregado dos videos de su instalación. Feliz programación!
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
He terminado de documentar el trabajo con hojas de calculo:
https://gitlab.com/mauriciobaeza/easy-m ... -con-hojas
¡Feliz programación!
https://gitlab.com/mauriciobaeza/easy-m ... -con-hojas
¡Feliz programación!
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
Con dedicatoria para mi amigo fornelasa, he empezado a hacerla compatible con OpenOffice... que no diga que no se le quiere...
Código: Seleccionar todo
from libo import LIBO
def main():
app = LIBO()
msg = 'Nombre: {}, Version: {}'.format(app.NAME, app.VERSION)
app.msgbox(msg)
return
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
ok
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: easy-macro
He agregado un bonito InputBox:
https://gitlab.com/mauriciobaeza/easy-m ... s#inputbox
https://gitlab.com/mauriciobaeza/easy-m ... s#inputbox
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
Gracias al compañero Dario, se han validado muchas partes de easy-macro en OpenOffice...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
Hola, empezando hoy con easy-macro tengo una duda: ¿que hago mal para que esta macro no funcione?
Código: Seleccionar todo
from libo import LIBO
def celda():
app = LIBO()
doc = app.doc
hoja = doc.active
ocelda = hoja['A1']
app.msgbox(ocelda.String)
return
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: easy-macro
Es mejor abrir un nuevo tema para las dudas...
Casi todos los objetos en easy-macro, son clases personalizadas, para obtener el valor de una celda, usas la propiedad value:
Siempre que quieras acceder al objeto original y usar las propiedades que ya conoces, usas:
Saludos
Casi todos los objetos en easy-macro, son clases personalizadas, para obtener el valor de una celda, usas la propiedad value:
Código: Seleccionar todo
ocelda.value
Código: Seleccionar todo
ocelda.obj.String
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
Si es cierto abriré un tema por consulta.
Sí, así si funciona.
Creo importante decir que lo intenté con Value porque en Geany también por default nos da ese valor con mayúscula inicial, debiendo ser obviamente con minúscula.
Saludos.
Sí, así si funciona.
Creo importante decir que lo intenté con Value porque en Geany también por default nos da ese valor con mayúscula inicial, debiendo ser obviamente con minúscula.
Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: easy-macro
Recuerden, la primer fuente de consulta debe ser la documentación:
https://gitlab.com/mauriciobaeza/easy-m ... s/index-es
Si no esta documentado, pueden abrir un nuevo tema
Un abrazo
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
He agregado un método para crear nuevas ventanas con menús, claro, con unas pocas líneas. Dentro de las ventanas, se puede agregar cualquier control, incluso (creo), otros componentes... ¿se apuntan para hacer el cliente de correo dentro de LibreOffice?
Código: Seleccionar todo
app = LIBO()
menus = (
('Archivo', 0, ('Nuevo', '', 'Cerrar')),
)
properties = {
'Title': 'Easy Macro',
'Menus': menus,
}
win = app.create_window(properties)
win.show()
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
Con esta nueva mejora me imagino que hay que descargar de nuevo el archivo libo.py, ¿será/es así?
Saludos.
En idioma cristiano ¿exactamente que significa eso?¿se apuntan para hacer el cliente de correo dentro de LibreOffice?
Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: easy-macro
Si, con cada cambio hay que actualizar la librería, por eso recomiendo usar git, con un comando siempre tienes actualizada la librería:
Con eso se puede hacer un clon de Thunderbird dentro de LibreOffice, a eso me refiero.
Saludos
Código: Seleccionar todo
git pull origin master
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
Ok bien es claro, yo por el momento la descargaré (libo.py) cada que se deba.
Saludos.
Saludos.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: easy-macro
He comenzado a agregar soporte para trabajar con formularios, para acceder a los mismos de forma sencilla:
Saludos
Código: Seleccionar todo
sheet = app.doc.active
form = sheet.forms['NombreFormulario']
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
He agregado soporte para el manejo de colores, por ahora, solo el color de las pestañas de las hojas de calculo y el color del fondo de las celdas, las cuatro líneas siguientes son el mismo color.
La lista de nombres de colores posibles, la pueden consultar por aquí:
https://www.w3.org/TR/SVG11/types.html#ColorKeywords
Código: Seleccionar todo
sheet = app.doc.active
sheet['A1'].back_color = 'red'
sheet['A2'].back_color = (255, 0, 0)
sheet['A3'].back_color = '#FF0000'
sheet['A4'].back_color = 16711680
https://www.w3.org/TR/SVG11/types.html#ColorKeywords
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
Ahora es posible mostrar cuadros de dialogo insertados en el mismo documento.
Código: Seleccionar todo
app = LIBO()
args = {'Name': 'Dialog1'}
dlg = app.create_dialog(args)
dlg.open()
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Re: easy-macro
He agregado soporte para trabajar con las imágenes en hojas de calculo, con esto, la macro mostrada en este tema: https://forum.openoffice.org/es/forum/v ... 50&t=14078
Se convierte en esto:
Se convierte en esto:
Código: Seleccionar todo
from libo import LIBO, mri
PATH = 'file:///home/mau/Documents/img/{}.jpg'
app = LIBO()
def actualizar_imagen(source):
if source.ImplementationName != 'ScCellObj':
return
cols = 0
rows = 2
sheet = app.doc.active
cell = app.doc.selection.offset(cols, rows)
img = sheet.images[cell.address]
img.url = PATH.format(cell.string)
return
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro