Error al ejecutar la macro pruebas.py con MsgBox

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

Error al ejecutar la macro pruebas.py con MsgBox

Notapor juanchv » Dom Mar 11, 2018 1:03 am

Saludos.
Ante todo gracias anticipadas.
He comenzado el tutorial sobre python, y a la primera de cambio me he atascado al ejecutar la macro prueba.py , cambiando
print() por msgbox() tal y como sugiere el tutorial. La macro sin modificar abriendo un archivo calc desde consola funciona.
Algo debo hacer mal, incluso he copiado el código, copia y pega , por si me he confundido tecleando.
He actualizado Libre office a 5.4,5.1 siguiendo la solución de otro post, pero no ha funcionado.
He buscado en el foro y en google y no he sabido encontrar una pista.
Seguramente debo tener un fallo en la instalación.
Adjunto los informes de error.
También he intentado ejecutar el archivo de Mauricio "obtener informacion.odt , que tambien da error.

Adjunto los informes de error.


Un saludo
Juan

Linux mint mate 18.3 64-bit
Libre office 4.4.5.1
python 3.5.2
Adjuntos
Error_al_ejecutar_pruebas_py.odt
(15.58 KiB) 35 veces
LibreOffice 5.4.5.1
Linux mint 18.3 Sylvia 64-bit Mate
juanchv
 
Mensajes: 42
Registrado: Mié May 30, 2012 5:39 pm

Re: Error al ejecutar la macro pruebas.py con MsgBox

Notapor mauricio » Dom Mar 11, 2018 4:36 am

Hola...

El error es claro, le número de argumentos pasado es incorrecto, no es problema de tu código, si no del API interno de LibreOffice... prueba reemplazando la macro msgbox por la siguiente:
Código: Seleccionar todo   Expandir vistaContraer vista
def msgbox(message):
    ctx = uno.getComponentContext()
    sm = ctx.getServiceManager()
    toolkit = sm.createInstanceWithContext('com.sun.star.awt.Toolkit', ctx)
    MsgBox = toolkit.createMessageBox(
                                     toolkit.getDesktopWindow(),
                                     'infobox',
                                     1,
                                     'UNOPython',
                                     str(message))
    return MsgBox.execute()

y me confirmas...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.4 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5644
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Error al ejecutar la macro pruebas.py con MsgBox

Notapor juanchv » Dom Mar 11, 2018 6:06 pm

Hola Mauricio
Gracias por la respuesta. Efectivamente este es el error. He cambiado las lineas y funciona perfecto.
Ya puedo seguir con el tutorial.
LibreOffice 5.4.5.1
Linux mint 18.3 Sylvia 64-bit Mate
juanchv
 
Mensajes: 42
Registrado: Mié May 30, 2012 5:39 pm

Re: Error al ejecutar la macro pruebas.py con MsgBox

Notapor mauricio » Lun Mar 12, 2018 5:07 pm

Por favor, si consideras que el tema ha sido resuelto, marcalo como tal, mira en: ¿Cómo marcar como RESUELTO un tema?, de esta forma, conseguiremos un Foro más ordenado.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.4 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5644
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 333 invitados