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()
	' Definir variables ----------------------------------------------------
	Dim document as Object
	Dim dispatcher as Object
	Dim RangoSeleccionado as New com.sun.star.table.CellRangeAddress
	Dim args3(0) as New com.sun.star.beans.PropertyValue

	' Acceder al documento y rango seleccionado ----------------------------
	RangoSeleccionado = ThisComponent.CurrentController.getSelection().getRangeAddress
	document   = ThisComponent.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

	' Definir el rango de impresión ----------------------------------------
	args3(0).Name = "ToPoint"
	args3(0).Value = RangoSeleccionado
	dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
	dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())

	' Activar la vista preliminar ------------------------------------------
	dispatcher.executeDispatch(document, ".uno:PrintPreview", "", 0, Array())
End Sub

No hay reacciones, todavía


Form is loading...