Página 1 de 1

[RESUELTO] Error app.get_doc (Easy Macro)

NotaPublicado: Sab Jul 29, 2017 5:36 am
por Dario Piedra
Buenas noches, un gusto saludarlos.

Estaba realizando una prueba de la documentación relacionada con Easy Macro, usando los ejemplos relacionados con:
1- Devolver documento activo.
2- Devolver un documento por título.

Aquí está el código.
Código: Seleccionar todo   Expandir vistaContraer vista
from libo import LIBO

app = LIBO()

def main():
   doc = app.doc
   app.msgbox(doc.title)
   
   documento = app.get_doc('Consolidar.ods')
   app.msgbox(documento.title)
   return


La primer prueba, que es la de devolver el documento activo funciona correctamente.
Pero la segunda prueba, la que debería devolver el documento por título muestra el error adjunto. (el documento Consolidar.ods si existe y está abierto al momento de ejecutar el código). Este mismo error lo recibo si intento probar la función para devolver todos los documentos abiertos.

Agradezco la ayuda que me puedan brindar para identificar donde está el error.

Saludos Cordiales;

Re: Error app.get_doc (Easy Macro)

NotaPublicado: Sab Jul 29, 2017 2:57 pm
por mauricio
Hola...

Ya vi el error, ahora lo arreglo... gracias por reportar...

Re: Error app.get_doc (Easy Macro)

NotaPublicado: Sab Jul 29, 2017 3:03 pm
por mauricio
En LibreOffice funciona como debe, ahora veo que pasa con OpenOffice...

Re: Error app.get_doc (Easy Macro)

NotaPublicado: Sab Jul 29, 2017 3:13 pm
por mauricio
Listo, ya esta arreglado, estos son de los pequeños cambios internos entre OpenOffice y LibreOffice, mientras ahora en LIBO muchos objetos son un iterable directamente, en OpenOffice hay que crear una enumeración.
Código: Seleccionar todo   Expandir vistaContraer vista
    def get_docs(self):
        if PY2:
            docs = []
            enum = self.desktop.getComponents().createEnumeration()
            while enum.hasMoreElements():
                docs.append(_get_class_doc(enum.nextElement()))
            return docs

        return [_get_class_doc(doc) for doc in self.desktop.getComponents()]

pero ya esta funcionando en ambas aplicaciones... gracias por reportar...

Un abrazo

Re: Error app.get_doc (Easy Macro)

NotaPublicado: Sab Jul 29, 2017 3:30 pm
por Dario Piedra
Un gusto saludarte Mauricio,

Probado y funcionando, mil gracias por la ayuda y la explicación.
Aún no entiendo mucho lo de macros y de phyton, pero es interesante ir investigando y aprendiendo.

Saludos cordiales;

Re: Error app.get_doc (Easy Macro)

NotaPublicado: Sab Jul 29, 2017 3:36 pm
por mauricio
Dario Piedra escribió:Aún no entiendo mucho lo de macros y de phyton, pero es interesante ir investigando y aprendiendo.

Así da gusto ayudar... no esperar que hagan todo por uno...

Agradezco tus pruebas...

Un abrazo