Página 1 de 1

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

NotaPublicado: Lun Oct 19, 2015 10:23 pm
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.

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

NotaPublicado: Mar Oct 20, 2015 8:44 pm
por SLV-es
Creada con la grabadora de macros

Código: Seleccionar todo   Expandir vistaContraer vista
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 :)

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

NotaPublicado: Mar Oct 20, 2015 9:48 pm
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!!

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

NotaPublicado: Mar Oct 20, 2015 10:03 pm
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.

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

NotaPublicado: Vie Oct 23, 2015 2:48 pm
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

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

NotaPublicado: Vie Oct 23, 2015 3:30 pm
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.

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

NotaPublicado: Vie Oct 23, 2015 4:03 pm
por SLV-es
En la macro de fornelasa, ¿qué has indicado en pFiltro(0).Value ?

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

NotaPublicado: Vie Oct 23, 2015 4:24 pm
por elandriu
Tengo escrito esto:
Dim pFiltro(0) as New com.sun.star.beans.PropertyValue
pFiltro(0).Name = "PageRange"
pFiltro(0).Value = "1"