Macro para poner el intervalo de impresión en "Vacío"

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
elandriu
Mensajes: 26
Registrado: Lun Oct 05, 2015 3:55 am

Macro para poner el intervalo de impresión en "Vacío"

Mensaje por elandriu »

Hola,
Estoy teniendo un problema para eliminar el intervalo de impresión por medio de una macro en Calc.
Usando:
ThisComponent.getCurrentController.getActiveSheet.setPrintAreas( mAI() )
Lo que sucede es que pone el intervalo en $A$1. (Adjunto imagen)
Cómo puedo hacer para que el intervalo de impresión se defina en: "Ninguna" por medio de una macro.
Gracias.
Libreoffice 4.4.5 - OSX
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Macro para poner el intervalo de impresión en "Vacío"

Mensaje por SLV-es »

Creada con la grabadora de macros

Código: Seleccionar todo

Sub DeletePrintAreas()
	Dim document   As Object
	Dim dispatcher As Object
	document   = ThisComponent.CurrentController.Frame
	dispatcher = CreateUNOService("com.sun.star.frame.DispatchHelper")
	dispatcher.ExecuteDispatch(document, ".uno:DeletePrintArea", "", 0, Array())
End Sub
Espero te sirva o te lleve a encontrar otro resultado :)
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
elandriu
Mensajes: 26
Registrado: Lun Oct 05, 2015 3:55 am

Re: Macro para poner el intervalo de impresión en "Vacío"

Mensaje por elandriu »

Hola y gracias por tu respuesta.

Lo he probado muy rapidamente y lo que veo que me hace es habilita para imprimir todas las hojas de todo el documento para imprimir, no estaría del todo mal si en la exportación le puedo decir que exporte a PDF siempre solo la página 2. Cómo se le da esa instrucción?.

Muchas gracias!!
Libreoffice 4.4.5 - OSX
elandriu
Mensajes: 26
Registrado: Lun Oct 05, 2015 3:55 am

Re: Macro para poner el intervalo de impresión en "Vacío"

Mensaje por elandriu »

Federico, da una solución para exportar la página que se desea en este hilo.
https://forum.openoffice.org/es/forum/v ... 50&t=11466
En el código anterior, si bien me deja los intervalos de impresión "ninguno", no se por qué exporta todas las hojas de todo el documento.
Saludos.
Libreoffice 4.4.5 - OSX
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Macro para poner el intervalo de impresión en "Vacío"

Mensaje por SLV-es »

Creo que es un problema de configuración de tu LibO
Mira en Herramientas > Opciones > LibreOffice Calc > Imprimir y verifica que en Hojas tienes activado Imprimir sólo las hojas seleccionadas
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
elandriu
Mensajes: 26
Registrado: Lun Oct 05, 2015 3:55 am

Re: Macro para poner el intervalo de impresión en "Vacío"

Mensaje por elandriu »

Gracias!!!. Lo he chequeado y tengo activado el "Imprimir solo las hojas seleccionadas".
Para lo que es mi trabajo, lo he solucionado con pasarle la opción a la macro de que imprima la página 2 pero no resuelvo aun el problema de que no imprima por más que figure como vacío el intervalo de impresión.
Libreoffice 4.4.5 - OSX
Avatar de Usuario
SLV-es
Mensajes: 4894
Registrado: Jue Ago 26, 2010 1:25 am
Ubicación: España
Contactar:

Re: Macro para poner el intervalo de impresión en "Vacío"

Mensaje por SLV-es »

En la macro de fornelasa, ¿qué has indicado en pFiltro(0).Value ?
+info en la web "no oficial" dedicada a OpenOffice en Español
AOO 4.1.2 y LibO 4.4.6 en W10 y en Lliurex
No respondo mensajes privados sobre AOO, por favor, utiliza el foro para tus preguntas
elandriu
Mensajes: 26
Registrado: Lun Oct 05, 2015 3:55 am

Re: Macro para poner el intervalo de impresión en "Vacío"

Mensaje por elandriu »

Tengo escrito esto:
Dim pFiltro(0) as New com.sun.star.beans.PropertyValue
pFiltro(0).Name = "PageRange"
pFiltro(0).Value = "1"
Libreoffice 4.4.5 - OSX
Responder