easymacro/doc/docs/docs/methods.md

4.2 KiB

Métodos comúnes a todos los documentos.


clear_undo

La mayoría de las acciones realizadas por código, quedan en el historial de acciones, por lo que el usuario puede deshacerlas. Para evitar esto se puede limpiar este historial.

    doc = app.active
    doc.clear_undo()

close

Cerrar un archivo.

    doc = app.docs.new()
    app.msgbox(doc.title)
    doc.close()

copy

Copiar la selección activa al portapapeles.

    doc = app.active
    doc.copy()

export

Exportar a otros formatos.

    doc = app.docs.new()
    ruta = '/home/elmau/miarchivo.xlsx'
    filtro = 'xlsx'
    doc.export(ruta, filtro)

    ruta = '/home/elmau/miarchivo.xls'
    filtro = 'xls'
    doc.export(ruta, filtro)

    doc = app.docs.new('writer')
    ruta = '/home/elmau/miarchivo.docx'
    filtro = 'docx'
    doc.export(ruta, filtro)

    ruta = '/home/elmau/miarchivo.doc'
    filtro = 'doc'
    doc.export(ruta, filtro)

    ruta = '/home/elmau/miarchivo.rtf'
    filtro = 'rtf'
    doc.export(ruta, filtro)

Exportar en memoria.

doc = app.docs.new()
filtro = 'xlsx'
excel_doc = doc.export(filter_name=filtro)

new

Crear nuevo documento, la aplicación predeterminada es Calc.

    doc = app.docs.new()
    app.debug(doc.type)

Para un nuevo documento writer.

    doc = app.docs.new('writer')
    app.debug(doc.type)

Otros documentos.

    doc = app.docs.new('draw')
    app.debug(doc.type)

    doc = app.docs.new('impress')
    app.debug(doc.type)

    doc = app.docs.new('math')
    app.debug(doc.type)

Crear con argumentos.

    propiedades = {'Hidden': True}
    doc = app.docs.new('writer', propiedades)
    mensaje = f'{doc.type} - {doc.title}'
    app.msgbox(mensaje)
    doc.visible = True

!!! tip

No es necesario que un documento este visible para manipularse.

open

Abrir archivos.

    ruta = '/home/elmau/mi_archivo.ods'
    doc = app.docs.open(ruta)

!!! tip "Consejo"

No es necesario pasar las rutas en formato URL.

Puede abrir cualquier archivo que sea soportado por LibreOffice.

    ruta = '/home/elmau/ejemplo.xlsx'
    doc = app.docs.open(ruta)

Abrir con argumentos.

    ruta = '/home/elmau/ejemplo.ods'
    argumentos = {'Password': 'siscaloburropanzon'}
    doc = app.docs.open(ruta, argumentos)

paste

Copiar el contenido del portapapeles, en la selección actual.

    doc = app.active
    doc.paste()

paste_special

Mostrar el cuadro de diálogo Pegado Especial.

!!! tip "Consejo"

Solo se mostrará si existe contenido en el portapapeles.
    doc = app.active
    doc.paste_special()

paste_values

Pegar solo los valores.

    doc = app.active
    doc.paste_values()

Si el destino no esta vacío, el usuario verá el cuadro de mensaje de confirmación.


save

Guardar un nuevo documento.

    path = '/home/elmau/nuevo_documento.ods'
    doc = app.docs.new()
    doc.save(path)

Cualquier archivo, previamente guardado, que sea modificado puede ser guardado con:

    doc.save()

Abrir un archivo existente y guardarlo con otro nombre.

    ruta = '/home/mau/ejemplo.ods'
    doc = app.docs.open(ruta)
    nueva_ruta = '/home/mau/otro_nombre.ods'
    doc.save(nueva_ruta)

set_focus

Enviar el foco al documento.

    for doc in app.docs:
        app.debug(doc.title)
        doc.set_focus()
        app.sleep(1)

to_pdf

Exportar a PDF.

    doc = app.active
    ruta = '/home/elmau/ejemplo.pdf'
    doc.to_pdf(ruta)

Si no se establece una ruta, se devuelve el PDF en memoria.

    doc = app.active
    pdf = doc.to_pdf()
    app.debug(pdf)

Mire las opciones del filtro de exportación a PDF, puede pasarlas como un diccionario como segundo argumento de este método.

Por ejemplo, exportar solo las páginas 2 a 4:

    doc = app.active
    ruta = '/home/elmau/ejemplo.pdf'
    opciones = {'PageRange': '2-4'}
    doc.to_pdf(ruta, opciones)