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.
[RESUELTO] Como crea 2 encabezados en un documento Writer
[RESUELTO] Como crea 2 encabezados en un documento Writer
Ú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
Re: Como crea 2 encabezados en un documento Writer
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
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"
Re: Como crea 2 encabezados en un documento Writer
Ok,
lo pruebo
Este comando Prim = oPS.getByName("First Page") es el que no encontraba
saludos
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
Re: Como crea 2 encabezados en un documento Writer
Perfecto!
OpenOffice 3.1/LibreOffice 5.3.1 en Windows 7
Re: Como crea 2 encabezados en un documento Writer
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
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro