docencia·libreoffice·Problemas del día a día

Editando informes con LibreOffices Writer y macros

Algunos software de análisis, generan informes para imprimir. A veces necesitamos editar los mismos, para lo cual lo más sencillo puede ser instalar una impresora virtual, que genera un archivo pdf; luego aplicamos libreoffice draw y listo, ya tenemos nuestro archivo pdf editado como queramos. Sin embargo, algunos programas de  análisis, solo generan un documento de texto plano con (aquí el problema) dos dígitos antes de cada linea de texto.

La solución: usar macros. Con un par de instrucciones, le diremos a LibreOffice Writer que quite esos dígitos y tendremos nuestro documento en perfectas condiciones para editarlo a nuestro gusto.

  1. Copiamos el texto a LibreOffice Writer
  2. Herramientas->Macros->Organizar macros.. LibreOffice Basic
  3. Nos aparecerá un recuadro para seleccionar macros, si queremos que esté disponible para otros documentos, seleccionamos Mis Macros; si solo queremos que esté disponible para el documento, seleccionamos el documento (dice “sin título” si aún no lo hemos guardado)
  4. Seleccionamos nuevo  y copiamos:


rem define variables
dim document as object
dim dispatcher as object
rem variables ciclo
dim iCount as Integer
dim args4(1) as new com.sun.star.beans.PropertyValue
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem comienza el ciclo,
rem reemplazar el 1959 con nº de lineas que tengas que editar
For iCount = 0 To 1959
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
args4(0).Name = "Count"
args4(0).Value = 1
args4(1).Name = "Select"
args4(1).Value = false
rem aquí baja a la linea siguiente
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args4())
rem aquí termina incrementando nuestro contador de lineas
next iCount
end sub

Guardamos, colocamos un nombre y luego lo ejecutamos. Las macros son muy útiles, sobretodo cuando tenemos que repetir procesos. Recuerdo que un amigo las usaba para editar su libro: después de cada imagen necesitaba un espacio, el estilo de letra era espaciado, etc.

Con este post, termino este año, muy contento de poder aportar desde la informática al mundo de la educación. Viva el software libre! nos vemos el próximo año!

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s