Macro Imprimir sólo lo seleccionado para Calc
Seleccionar un rango de celdas e imprimirlas no es sencillo con Calc; necesitamos definir previamente un rango de impresión.
Esta sencilla macro que describimos en este post realizará todo ese trabajo por nosotros. Definirá el nuevo rango de impresión eliminando cualquier otro anteriormente definido, y activará la vista preliminar. A partir de aquí, nos cede el control para que realicemos los ajustes que consideremos oportunos.
Por supuesto que se podrían automatizar más opciones, pero consideramos que de esta forma es lo suficientemente útil, sencilla y plástica para adaptarse a cualquier necesidad.Guarda la macro en el área Mis Macros / Module1 e inserta un botón en una barra de herramientas que llame a esta macro; así la tendremos disponible para todas las hojas de cálculo con las que trabajemos.
Os invitamos a que nos enviéis vuestras propuestas.
sub Vista_Preliminar_Solo_Seleccionado()rem ----------------------------------------------------------------------rem Definir variablesdim document as objectdim dispatcher as objectdim RangoSeleccionado as New com.sun.star.table.CellRangeAddressdim args3(0) as new com.sun.star.beans.PropertyValuerem ----------------------------------------------------------------------rem Acceder al documento y rango seleccionadoRangoSeleccionado = ThisComponent.CurrentController.getSelection().getRangeAddressdocument = ThisComponent.CurrentController.Framedispatcher = createUnoService("com.sun.star.frame.DispatchHelper")rem ----------------------------------------------------------------------rem Definir el rango de impresiónargs3(0).Name = "ToPoint"args3(0).Value = RangoSeleccionadodispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())rem ----------------------------------------------------------------------rem Activar la vista preliminardispatcher.executeDispatch(document, ".uno:PrintPreview", "", 0, Array())end sub





06.01.11 02:45:37,