[RESUELTO] Como crea 2 encabezados en un documento Writer

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO] Como crea 2 encabezados en un documento Writer

Notapor visatico » Dom Feb 25, 2018 7:14 pm

Hola,
estoy intentando hacer una macro que muestre 2 cabeceras en un documento writer.

Una para la primera página y otra para el resto de páginas.

Me estoy basando en el asunto resuelto https://forum.openoffice.org/es/forum/v ... =50&t=5650 que he visto.

Sub MacroCabecera
oFam_Estilos = ThisComponent.StyleFamilies
oEstilos_Para = oFam_Estilos.getByName("ParagraphStyles")
oEstilo_Encab = oEstilos_Para.getByName("Header")
oEstilo_Encab.CharFontName = "Arial Narrow"
oEstilo_Encab.CharHeight = 8.5
oEstilo_Encab.CharColor = RGB(0,0,800)

oDoc = ThisComponent
oStyles = oDoc.getStyleFamilies
oPS = oStyles.getByName("PageStyles")
Stan = oPS.getByName("Standard")
Stan.HeaderIsOn = True
Stan.HeaderHeight = 2500 + Stan.HeaderBodyDistance
Stan.HeaderBackGraphicLocation= com.sun.star.style.GraphicLocation.LEFT_TOP
Stan.HeaderText.String = "" & Chr(13)& Chr(9) & "texto en la cabecera1"

oStyles2 = oDoc.getStyleFamilies
oPS2 = oStyles2.getByName("PageStyles")
Stan2 = oPS2.getByName("Standard")
Stan2.HeaderIsOn = True
Stan2.HeaderHeight = 2500 + Stan2.HeaderBodyDistance
Stan2.HeaderBackGraphicLocation= com.sun.star.style.GraphicLocation.LEFT_TOP
Stan2.HeaderText.String = "" & Chr(13)& Chr(9) & "texto en la cabecera2"

'
end sub

El problema es que no sé como poner el primer estilo en la página 1 y el estilo2 en el resto de las página a medida que se vayan creando.
Tal como está se queda la segunda cabecera conforme vas añadiendo nueva páginas.

Saludos.
Última edición por visatico el Lun Feb 26, 2018 6:47 pm, editado 1 vez en total
OpenOffice 3.1/LibreOffice 5.3.1 en Windows 7
visatico
 
Mensajes: 8
Registrado: Dom Feb 25, 2018 6:22 pm

Re: Como crea 2 encabezados en un documento Writer

Notapor FJCC-ES » Lun Feb 26, 2018 6:28 am

El encabezamiento es una propiedad del estilo de página. Para mostrar diferentes encabezamientos, las páginas tienen que tener diferentes estilos de página. Si aplica el estilo de página Primera Página ('First Page' en inglés) a la primera pagina el resto de las páginas tendrán el estilo Predeterminado. (En la definición de Primera Página, el Estilo Siguiente es el estilo Predeterminado) En ese caso, la macro puede cambiar las propiedades de cada estilo.
Código: Seleccionar todo   Expandir vistaContraer vista
oDoc = ThisComponent
oStyles = oDoc.getStyleFamilies
oPS = oStyles.getByName("PageStyles")
Prim = oPS.getByName("First Page")
Prim.HeaderIsOn = True
Prim.HeaderHeight = 2500 + Prim.HeaderBodyDistance
Prim.HeaderBackGraphicLocation= com.sun.star.style.GraphicLocation.LEFT_TOP
Prim.HeaderText.String = "" & Chr(13)& Chr(9) & "texto en la cabecera1"

Stan = oPS.getByName("Standard")
Stan.HeaderIsOn = True
Stan.HeaderHeight = 2500 + Stan.HeaderBodyDistance
Stan.HeaderBackGraphicLocation= com.sun.star.style.GraphicLocation.LEFT_TOP
Stan.HeaderText.String = "" & Chr(13)& Chr(9) & "texto en la cabecera2"
FJCC-ES
 
Mensajes: 641
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Como crea 2 encabezados en un documento Writer

Notapor visatico » Lun Feb 26, 2018 7:45 am

Ok,
lo pruebo
Este comando Prim = oPS.getByName("First Page") es el que no encontraba

saludos
OpenOffice 3.1/LibreOffice 5.3.1 en Windows 7
visatico
 
Mensajes: 8
Registrado: Dom Feb 25, 2018 6:22 pm

Re: Como crea 2 encabezados en un documento Writer

Notapor visatico » Lun Feb 26, 2018 5:15 pm

Perfecto!
:bravo:
OpenOffice 3.1/LibreOffice 5.3.1 en Windows 7
visatico
 
Mensajes: 8
Registrado: Dom Feb 25, 2018 6:22 pm

Re: Como crea 2 encabezados en un documento Writer

Notapor mauricio » Lun Feb 26, 2018 6:42 pm

Por favor, si consideras que el tema ha sido resuelto, marcalo como tal, mira en: ¿Cómo marcar como RESUELTO un tema?, de esta forma, conseguiremos un Foro más ordenado.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.4 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5646
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado