easymacro/doc/docs/tools/macros.md

1.6 KiB

Podemos ejecutar cualquier macro disponible en LibreOffice. De forma predeterminada se llaman a las macros en Python localizadas en el perfil de usuario.

call

import easymacro as app


def mostrar_info():
    app.msgbox(app.INFO_DEBUG)
    return


def main(args=None):
    macro = {
        'library': 'examples',
        'name': 'mostrar_info',
    }
    app.macro.call(macro)
    return

Macros compartidas.

Ejecutar una macro compartida en LibreOffice Macros.

    macro = {
        'library': 'HelloWorld',
        'name': 'HelloWorldPython',
        'location': 'share',
    }
    app.macro.call(macro)

Macros en Basic

Ejecutar una macro Basic.

Sub mostrar_info()
    MsgBox "Mejor usa Python :)"
End Sub
    macro = {
        'language': 'Basic',
        'library': 'Standard',
        'module': 'Module1',
        'name': 'mostrar_info',
    }
    app.macro.call(macro)

Macros en JavaScript

Si ejecutas este ejempplo, asegurate de ejecutarlo con un documento Writer abierto, la macro de ejemplo en JavaScript esta disponible en LibreOffice.

    macro = {
        'language': 'JavaScript',
        'library': 'HelloWorld',
        'name': 'helloworld.js',
        'location': 'share',
    }
    app.macro.call(macro)

Cualquier macro se puede ejecutar en otro hilo.

    app.macro.call(macro, True)

Más información en: Scripting Framework URI Specification