07 05 -2016 Repaso
actividad:
Nota
solucion
Logo | Programa | Descripcion | Captura |
---|---|---|---|
Writer | Es el procesador de textos de la suite ofimática similar a Microsoft Word. Writer permite exportar archivos de texto a los formatos PDF y HTML sin software adicional, lo que permite que pueda ser utilizado como un editor WYSIWYG para crear y editar páginas web. | ||
Calc | Es una hoja de cálculo similar a Microsoft Excel o Lotus 1-2-3. Calc ofrece una serie de características no presentes en Excel, incluyendo un sistema que, automáticamente define serie de gráficas, sobre la base de la disposición de la información del usuario. Calc también puede exportar hojas de cálculo para el formato PDF. | ||
Impress | Es un programa de presentación similar a Microsoft PowerPoint o Keynote de Apple. Puede exportar presentaciones al formato SWF, permitiendo que se reproduzca en cualquier computadora con un reproductor de Flash instalado. También incluye la capacidad de crear archivos PDF, y la capacidad de leer archivos de Microsoft PowerPoint (ppt). Su formato original es ODP. | ||
Base | Es un programa de base de datos similar a Microsoft Access. Apache OpenOffice Base permite la creación y manejo de bases de datos, elaboración de formularios e informes que proporcionan a los usuarios finales un acceso fácil a los datos. Al igual que Microsoft Access, es capaz de trabajar como un front-end para diversos sistemas de bases de datos tales como el de Access (JET), fuente de datos ODBC y MySQL/PostgreSQL. Base está disponible desde la versión 2.0. | ||
Draw | Es un editor de gráficos vectoriales y herramienta de diagramación, similar a Microsoft Visio y comparable en características a las primeras versiones de CorelDRAW. Ofrece «conectores» entre las formas, que están disponibles en una gama de estilos de línea y facilitan la construcción de los dibujos, como diagramas de flujo. Tiene características similares a la edición de software de escritorio como Scribus y Microsoft Publisher. Draw también puede exportar sus creaciones al formato PDF y al estándar SVG. | ||
Math | Es una aplicación diseñada para la creación y edición de fórmulas matemáticas. La aplicación utiliza un lenguaje de marcado para crear las fórmulas.14 Dichas fórmulas pueden ser incorporadas dentro de otros documentos de OpenOffice.org, tales como los creados por Writer; permitiendo al usuario la posibilidad de incrustarlas al documento como objetos OLE.15 Math soporta múltiples fuentes y puede exportar fórmulas a los formatos de archivo ODF, PDF oMathML. |
2.Por ejemplo: poner una palabra en cursiva, alinear un párrafo a la izquierda o colocar un borde sombreado a una tabla son operaciones típicas de formato que sólo afectan a la forma en cómo vemos el texto, pero no al propio contenido del texto.
3.
Cuando hablamos del formato de un texto nos estamos refiriendo a las cuestiones que tienen que ver con el aspecto del texto, con la presentación del documento. Por ejemplo: poner una palabra en cursiva, alinear un párrafo a la izquierda o colocar un borde sombreado a una tabla son operaciones típicas de formato que sólo afectan a la forma en cómo vemos el texto, pero no al propio contenido del texto. Aunque lo fundamental cuando escribimos un texto es lo que se dice en él la forma en la que lo vemos también tiene mucha importancia. Un texto con un buen contenido pero mal formateado pierde mucha calidad. Afortunadamente, es muy fácil dar un formato atractivo con Writer. Con un poco de trabajo adicional para formatear un texto se consiguen resultados espectaculares, incluso puedes dar tu toque de diseño de forma que tus documentos se diferencien del resto. En Writer podemos clasificar las acciones que tienen que ver con el formato en tres grandes grupos. Ahora vamos a ir viendo cada uno de estos tipos de formato. Además de las técnicas que vamos a ver en esta unidad, existen otras posibilidades para dar formato al texto: los estilos y las plantillas. Como veremos más adelante, los estilos y plantillas son adecuados para dar un formato definido previamente. Por ejemplo, en una empresa suele existir una plantilla para escribir cartas, de esa forma todas las cartas tienen un aspecto característico de esa empresa. No siempre es necesario utilizar plantillas y estilos. Cuando queremos dar un determinado formato a una línea del documento no hace falta definir un estilo, lo haremos con los comandos básicos que vamos a ver ahora. Los estilos y plantillas no son más que una agrupación de formatos básicos. Así que lo primero que hay que aprender es a manejar esos formatos básicos, que es lo que vamos a hacer en esta unidad.
|
Los caracteres son todas las letras, números, signos de puntuación y símbolos que se escriben como texto. Las letras escritas con FontWork o las letras incluidas en imágenes, no se consideran caracteres a estos efectos y no se les pueden aplicar los formatos que vamos a estudiar. Vamos a ver las posibilidades más comunes para variar el aspecto de los caracteres que están disponibles en la barra de formato o en una parte de la barra estándar: fuente, tamaño y estilode fuente. |
|
Fuente. Un apartado a elegir con cuidado es la fuente del texto ya que determinará en gran medida el aspecto del texto. Para cambiar el tipo de letra o fuente lo primero que tenemos que hacer es seleccionar los caracteres, palabras o líneas sobre los que queremos realizar el cambio. A continuación hacer clic sobre el pequeño triángulo que hay al lado de la fuente actual, esto hará que se despliegue una lista con las fuentes disponibles. |
Observa que el propio nombre de la fuente está representado en ese tipo de fuente, de forma que podemos ver el aspecto que tiene antes de aplicarlo. Podemos hacer clic en las flechas arriba y abajo de la barra de desplazamiento de la derecha para que vayan apareciendo todos los tipos de letra disponibles, también podemos desplazar el botón central para movernos más rápidamente. Una vez hemos encontrado la fuente que buscamos basta con hacer clic sobre ella para aplicarla. |
En lugar de desplazarnos por el menú despegable para buscar la fuente podemos, si conocemos el nombre, hacer clic sobre el recuadro y teclearlo directamente. |
Tamaño. De forma parecida podemos cambiar el tamaño de la fuente. Seleccionar el texto y hacer clic en el triángulo para buscar el tamaño que deseemos, o escribirlo directamente. La unidad de medida es el punto (72 puntos = 1 pulgada = 2,54 cm), los tamaños más utilizados son 10 y 12 puntos. |
Para practicar estos formatos te aconsejamos realizar este ejercicio paso a paso Utilizar fuente, tamaño y estilo.
|
4. El formato de página siempre tiene que establecerse por medio de un estilo de página, este, en conjunto con otra serie de propiedades de la hoja donde estés trabajando, te dará control completo sobre el formato de página. La siguiente macro te muestra en un cuadro de mensaje, la lista de formatos de página existentes en el documento desde el cual se ejecuta.
Sub FormatoPagina1() Dim oDoc As Object Dim oEstilos As Object Dim oEstilosPagina As Object 'Accedemos al documento actual oDoc = ThisComponent 'Accedemos a todos los estilos oEstilos = oDoc.getStyleFamilies() 'Accedemos a los estilos de página oEstilosPagina = oEstilos.getByName("PageStyles") 'Mostramos sus nombres MsgBox Join( oEstilosPagina.getElementNames(), Chr(13) ) End Sub
Verifica que efectivamente sean los estilos que tienes, ve a tu hoja y presiona la tecla F11 para abrir el cuadro de dialogo “Estilo y Formato”, selecciona los estilos de página, la lista debería ser igual a la que te devuelve la macro anterior.
Para saber que estilo de página tenemos en nuestra hoja activa, usamos:
Sub FormatoPagina2() Dim oDoc As Object Dim oHojaActiva As Object Dim oEstilos As Object Dim oEstilosPagina As Object oDoc = ThisComponent oHojaActiva = oDoc.getCurrentController.getActiveSheet() 'Verificamos el nombre del estilo actual MsgBox oHojaActiva.PageStyle End Sub
Para aplicar el estilo de página que quieras, usamos la siguiente macro:
Sub FormatoPagina3() Dim oDoc As Object Dim oHojaActiva As Object Dim oEstilos As Object Dim oEstilosPagina As Object Dim sEstilo As String sEstilo = "Report" oDoc = ThisComponent oHojaActiva = oDoc.getCurrentController.getActiveSheet() oEstilos = oDoc.getStyleFamilies() oEstilosPagina = oEstilos.getByName("PageStyles") 'Verificamos que el nombre del estilo exista If oEstilosPagina.hasByName( sEstilo ) Then 'Si existe lo aplicamos oHojaActiva.PageStyle = sEstilo Else MsgBox "No se aplicó ningún estilo de página" End If End Sub
Con el siguiente ejemplo, mostramos algunas propiedades del estilo de página predeterminado.
Sub FormatoPagina4() Dim oDoc As Object Dim oHojaActiva As Object Dim oEstilos As Object Dim oEstilosPagina As Object Dim sEstilo As String Dim oEP As Object sEstilo = "Default" oDoc = ThisComponent oHojaActiva = oDoc.getCurrentController.getActiveSheet() oEstilos = oDoc.getStyleFamilies() oEstilosPagina = oEstilos.getByName("PageStyles") If oEstilosPagina.hasByName( sEstilo ) Then oEP = oEstilosPagina.getByName( sEstilo ) 'Ancho y alto de la página MsgBox oEP.Width & " - " & oEP.Height 'Margen superior e inferior MsgBox oEP.TopMargin & " - " & oEP.BottomMargin 'Margen izquierdo y derecho MsgBox oEP.LeftMargin & " - " & oEP.RightMargin End If End Sub
Para borrar un estilo, usamos el método removeByName de la siguiente manera.
Sub FormatoPagina5() Dim oDoc As Object Dim oHojaActiva As Object Dim oEstilos As Object Dim oEstilosPagina As Object Dim sEstilo As String sEstilo = "Videoteca" oDoc = ThisComponent oHojaActiva = oDoc.getCurrentController.getActiveSheet() oEstilos = oDoc.getStyleFamilies() oEstilosPagina = oEstilos.getByName("PageStyles") If oEstilosPagina.hasByName( sEstilo ) Then If MsgBox("¿Estas seguro de borrar el estilo de página?", 36) = 6 Then 'Borramos el estilo oEstilosPagina.removeByName( sEstilo ) MsgBox "Estilo borrado" Else MsgBox "El estilo no se borro" End If Else MsgBox "No existe el estilo de página" End If End Sub
Ten cuidado con la macro anterior, dentro de la interfaz del usuario, los estilos Reporte (Report) y Predeterminado (Default) no se pueden borrar, pero por código si que se puede, si llegas a borrar “todos” los estilos, ya no podrás hace uso del menú Formato > Página, si no me crees y te gusta experimentar como a mi, borra todos los estilos para verificarlo, pero, aunque los borres, las hojas nuevas, al estar basadas en la plantilla predeterminada, tendrán de nuevo los estilos predeterminados, claro, si los borras de la plantilla, si que te quedarás sin estilos, no obstante, puedes volver a crearlos, como en el siguiente ejemplo.
Sub FormatoPagina6() Dim oDoc As Object Dim oHojaActiva As Object Dim oEstilos As Object Dim oEstilosPagina As Object Dim sEstilo As String Dim oEP As Object sEstilo = "Videoteca" oDoc = ThisComponent oHojaActiva = oDoc.getCurrentController.getActiveSheet() oEstilos = oDoc.getStyleFamilies() oEstilosPagina = oEstilos.getByName("PageStyles") If oEstilosPagina.hasByName( sEstilo ) Then oHojaActiva.PageStyle( sEstilo ) Else 'Creamos un nuevo estilo oEP = oDoc.createInstance( "com.sun.star.style.PageStyle" ) 'Lo agregamos a la colección de estilos oEstilosPagina.insertByName( sEstilo, oEP ) 'Le damos formato With oEp .Width = 27940 'Ancho .Height = 21590 'Alto .TopMargin = 2000 'Margen superior .BottomMargin = 2000 'Margen inferior .LeftMargin = 1000 'Margen izquierdo .RightMargin = 1000 'Margen derecho .IsLandscape = True 'Orientación de la página (horizontal) .CenterHorizontally = True 'Centrado horizontal del contenido .ScaleToPagesX = 1 'Una página de ancho .ScaleToPagesY = 0 'Las que salgan de alto End With End If End Sub
Observa las características indicadas dentro de la misma macro, como dicen en mi pueblo -ni están todas las que son, ni son todas las que están-. Las características establecidas son las mismas del menú Formato > Página..., que, como podrás notar, son bastantes, veamos las más comunes.
El ancho (Width) y alto (Height) de la página, se refiere al tamaño del papel, hay que establecerlos en centésimas de milímetro, es decir, cada 100 unidades es igual a 1 milímetro, estas propiedades, tienes que usarlas correctamente en combinación con la propiedad Orientación (IsLandscape), es decir, si estableces esta propiedad en verdadero (True) es decir horizontal, entonces el ancho debe ser mayor que el alto, si la estableces en falso (False) es decir vertical, el alto debe ser mayor para que lo veas correctamente. En el siguiente ejemplo, la primer forma es correcta, la segunda no.
With oEP .Width = 27940 'Ancho .Height = 21590 'Alto .IsLandscape = True 'Orientación de la página (horizontal) End With With oEP .Width = 27940 'Ancho .Height = 21590 'Alto .IsLandscape = False 'Orientación de la página (vertical) End With
Los margenes también están en centésimas de milímetros y se ven afectados por el diseño de página (PageStyleLayout), es decir, si estableces las páginas derecha e izquierda igual o si las reflejas, este valor esta determinado por la enumeración PageStyleLayout, cuyos posibles valores son los siguientes.
Propiedad PageStyleLayout | Valor | Valor en Interfaz |
---|---|---|
com.sun.star.style.PageStyleLayout.ALL | 0 | Derecha e izquierda |
com.sun.star.style.PageStyleLayout.LEFT | 1 | Solo izquierda |
com.sun.star.style.PageStyleLayout.RIGHT | 2 | Solo derecha |
com.sun.star.style.PageStyleLayout.MIRRORED | 3 | Reflejado |
Puedes establecer el valor o la constante como en el siguiente ejemplo.
oEP.PageStyleLayout = 0 oEP.PageStyleLayout = com.sun.star.style.PageStyleLayout.MIRRORED
El Formato, se refiere al estilo de numeración que se usará cuando se establece la numeración de páginas en el encabezado o en el pie de página, sus valores van del 0 al 5 y se corresponden al orden mostrado en la interfaz del usuario:
oEP.NumberingType = 4
En Alineación de la tabla, lo correcta seria, centrado del contenido, pues eso es lo que realmente hacen estas propiedades, para el sentido horizontal (CenterHorizontally) y vertical (CenterVertically), son valores booleanos.
oEP.CenterHorizontally = True oEP.CenterVertically = False
En la ficha Borde, tenemos:
Para establecer el borde de la página, usamos la estructura BorderLine, ya vista en otros capítulos, en el siguiente ejemplo, establecemos el borde de cada lado de un color diferente.
Dim oBordeLinea As New com.sun.star.table.BorderLine With oBordeLinea .Color = RGB(200,0,0) .InnerLineWidth = 100 'Línea interior .OuterLineWidth = 50 'Línea exterior .LineDistance = 100 'Distancia entre líneas End With oEP.TopBorder = oBordeLinea oBordeLinea.Color = RGB(0,200,0) oEP.BottomBorder = oBordeLinea oBordeLinea.Color = RGB(0,0,200) oEP.LeftBorder = oBordeLinea oBordeLinea.Color = RGB(200,200,200) oEP.RightBorder = oBordeLinea
Si quieres ver solo una línea, establece solo una de las líneas, ya sea la interior (InnerLineWidth) o la exterior (OuterLineWidth) y no establezcas la distancia entre ellas (LineDistance), de nuevo, las unidades son centésimas de milímetros. La opción Distancia al texto, se refiere a la distancia entre los bordes y el contenido, si quieres la mista distancia para los cuatro bordes, como si estuviera activada la casilla de verificación Sincronizar, usa la propiedad BorderDistance, si quieres un distancia diferente para cada lado, usa las siguientes propiedades.
'Para sincronizar todos los bordes a .5 mm oEP.BorderDistance = 500 'Para establecer cada borde diferente oEP.TopBorderDistance = 500 oEP.BottomBorderDistance = 1000 oEP.LeftBorderDistance = 1500 oEP.RightBorderDistance = 2000
La sombra se establece con la propiedad ShadowFormat, que es una estructura com.sun.star.table.ShadowFormat, con las siguiente propiedades.
With oSombra .Location = 4 'Donde esta la sombra .ShadowWidth = 1000 'Ancho de la sombra .IsTransparent = False 'Si es transparente .Color = RGB(180,180,180) 'Color End With oEP.ShadowFormat = oSombra
La propiedad Location, esta determinada por la siguiente enumeración.
Propiedad ShadowLocation | Valor | Valor en Interfaz |
---|---|---|
com.sun.star.table.ShadowLocation.NONE | 0 | Ninguna |
com.sun.star.table.ShadowLocation.TOP_LEFT | 1 | Arriba a la izquierda |
com.sun.star.table.ShadowLocation.TOP_RIGHT | 2 | Arriba a la derecha |
com.sun.star.table.ShadowLocation.BOTTOM_LEFT | 3 | Abajo a la izquierda |
com.sun.star.table.ShadowLocation.BOTTOM_RIGHT | 4 | Abajo a la derecha |
Si estableces la propiedad de transparencia (IsTransparent) en verdadero (True), la sombra no se vera.
La siguiente ficha se llama Fondo, veamos su propiedad que es muy sencilla.
oEP.BackColor = RGB(200,220,240)
También podemos establecer una imagen de fondo, aquí puedes ver a mi novia ;).
La ruta de la imagen la establecemos con BackGraphicURL, es importante que le pases la ruta en formato URL, y por supuesto que la imagen exista, si no, no te dará un error pero no te mostrará nada, cuida mucho el tamaño de las imágenes insertadas en documentos, si se usara solo en pantalla, que es lo usual, no requieres ni un gran tamaño ni una gran resolución.
'Establecemos la ruta de la imagen oEP.BackGraphicURL = ConvertToURL( "/home/mau/marion.jpg" ) 'Y la posición donde la queremos oEP.BackGraphicLocation = 5
La posición (BackGraphicLocation) puede tomar valores de 1 a 11, de acuerdo a la siguiente imagen, en la opción Área, te cubrirá la hoja completa con la imagen.
Nos saltamos el encabezado y pie de página que por su complejidad veremos al final, y veamos la ultima ficha Hoja, que tiene las siguientes propiedades.
El orden de impresión (Orden de página) lo establecemos con la propiedad; PrintDownFirst, valor booleano que equivale a.
-
-
- Verdadero (True) = De arriba hacia abajo, después hacia la derecha
- Falso (False) = De izquierda a derecha y hacia abajo
-
oEP.PrintDownFirst = True
El valor de Primer núm de página, esta representado por la propiedad FirstPageNumber, valor tipo entero (integer) que establece un inicio de numeración de página diferente de uno. Ten cuidado si lo usas en conjunto con el total de hojas, pues te puede dar resultados algo extraños, como mostrarte Hoja 5 de 3.
oEP.FirstPageNumber = 8
Las siguientes propiedades solo determinan que opciones se imprimirán y cuales no, en cada línea te muestro su equivalencia en la interfaz del usuario.
With oEP .PrintAnnotations = False 'Imprimir las notas de celdas .PrintCharts = True 'Imprimir los Gráficos .PrintDrawing = True 'Imprimir los Objetos de dibujo .PrintFormulas = False 'Imprimir las formulas, en vez del resultado .PrintGrid = False 'Imprimir la cuadrícula de las celdas .PrintHeaders = False 'Imprimir encabezados de filas y columnas .PrintObjects = True 'Imprimir Objetos e imágenes .PrintZeroValues = True 'Imprimir los valores cero End With
La escala de impresión nos puede resolver muy fácilmente problemas de impresión, la primera opción es aumentar o disminuirla según nuestras necesidades con la propiedad PageScale, un valor tipo entero (integer) entre 10 y 400, si lo estableces fuera de estos limites, se ajustará al valor mínimo o máximo más cercano, toma en cuenta que este porcentaje de cambio, solo es visible en la vista preliminar y a la hora de imprimir, en tu interfaz de usuario no veras ningún cambio de tamaño.
oEP.PageScale = 80 'Ajustamos al 80% de escala
La segunda opción es ajustar a un determinado número de páginas, tienes que considerar un ajuste óptimo entre cantidad de datos y este valor, pues si tienes muchos datos y estableces un valor de páginas muy pequeño, el factor de escala se reducirá tanto que los datos no serán legibles.
'Ajustamos a tres páginas de impresión oEP.ScaleToPages = 3
Por ultimo la que más me gusta, puedes establecer un determinado número de páginas de ancho por otro de alto, por ejemplo:
'Establecemos la impresión en tres de ancho por dos de alto oEP.ScaleToPagesX = 3 oEP.ScaleToPagesY = 2
Estas propiedades son muy útiles en eso grandes listados de datos, muy comunes donde tienes muchas filas y un determinado número de columnas que caben en el ancho de una hoja, ya sea vertical u horizontal, si estableces el ancho en 1 y el alto en 0, estamos forzando a usar exactamente una de ancho por las “necesarias” de alto.
'Establecemos la impresión en una de ancho por las que salgan de alto oEp.ScaleToPagesX = 1 oEp.ScaleToPagesY = 0
Ahora si, ya casi para terminar, veamos como modificar el encabezado y el pie de página de nuestro estilo de página. Lo primero que hay que hacer, es activarlos o desactivarlos según nuestras necesidades:
Como son muy similares las opciones de encabezado y pie de página, te iré mostrando sus propiedades, una junto a otra. Para activarlos o desactivarlos usamos:
'Activamos el encabezado oEp.HeaderOn = True 'y desactivamos el pie de página oEp.FooterOn = False
La opción Contenido a la izquierda/derecha igual, nos permite, si esta desactivada, establecer las opciones de encabezado o pie de página, de forma diferente para las páginas pares e impares de nuestra impresión, esta opción, junto con la de Diseño de página vista anteriormente, nos permiten configurar nuestra impresión como si de un libro se tratará. Para activarla o desactivarla usamos.
'Lo desactivamos en el encabezado oEP.HeaderIsShared = False 'Lo activamos en el pie de página oEP.FooterIsShared = True
Después tenemos las opciones para establecer los margenes en centésimas de milímetros, este margen es distinto e independiente del margen de la página.
'Establecemos los margenes del encabezado en 3 cm oEP.HeaderRightMargin = 3000 oEP.HeaderLeftMargin = 3000 'Establecemos los margenes del pie de página en 2 cm oEP.FooterRightMargin = 2000 oEP.FooterLeftMargin = 2000
La propiedad Espacio, se refiere a la distancia entre en el encabezado o pie de página y el contenido del documento.
'Ajustamos la distancia del encabezado al cuerpo del documento¡ oEP.HeaderBodyDistance = 500 'Ajustamos la distancia del pie de página al cuerpo del documento¡ oEP.FooterBodyDistance = 1000
La propiedad Altura, es la altura del encabezado o pie de página, es decir, el espacio disponible para introducir información, pero toma en cuenta que dentro de este valor, esta considerada la distancia entre el encabezado o pie de página y el cuerpo del documento, por lo que si quieres una distancia absoluta, debes de sumarle dicho valor, como en.
'Ajustamos la altura del encabezado sumando el espacio al cuerpo oEP.HeaderHeight = 2000 + oEP.HeaderBodyDistance 'Y del pie de página oEP.FooterHeight = 1000 + oEP.FooterBodyDistance
La propiedad Ajuste dinámico de la altura, nos permite adaptar la altura al contenido del encabezado o pie de página, si esta activada, la medida introducida en la propiedad anterior no será tomada en cuenta, esta propiedad es muy útil si establecemos por código el contenido de los encabezados o pies de página. Para activarla o desactivarla, usamos.
'Establecemos la altura dinámica para el encabezado oEP.HeaderDynamic = True 'La desactivamos para el pie de página oEP.FooterDynamic = False
Igual que en el estilo de la página, en el encabezado como en el pie de página, tenemos las opciones de establecer, un borde, una sombra, un color de fondo o una imagen, la forma es la misma, lo que cambia, es las propiedades a las que se establecen estas.
'Configuramos el tipo de borde With oBordeLinea .Color = RGB(0,150,0) .InnerLineWidth = 0 'Línea interior .OuterLineWidth = 80 'Línea exterior End With 'Establecemos el mismo para todos oEP.HeaderTopBorder = oBordeLinea oEP.HeaderBottomBorder = oBordeLinea oEP.HeaderLeftBorder = oBordeLinea oEP.HeaderRightBorder = oBordeLinea 'Cambiamos el color para el borde del pie de página With oBordeLinea .Color = RGB(150,150,0) End With 'Establecemos el mismo para todos oEP.FooterTopBorder = oBordeLinea oEP.FooterBottomBorder = oBordeLinea oEP.FooterLeftBorder = oBordeLinea oEP.FooterRightBorder = oBordeLinea
Para la sombra aplica igual que en estilo de página.
'Configuramos la sombra With oSombra .Location = 4 'Donde esta la sombra .ShadowWidth = 500 'Ancho de la sombra .Color = RGB(150,160,170) 'Color End With 'Para el encabezado oEP.HeaderShadowFormat = oSombra 'Para el pie de página oEP.FooterShadowFormat = oSombra
Y el color de fondo.
'Establecemos el color de fondo del encabezado de forma aleatoria oEP.HeaderBackColor = RGB ( Rnd()*255,Rnd()*255,Rnd()*255 ) 'Igual para el pie de página oEP.FooterBackColor = RGB ( Rnd()*255,Rnd()*255,Rnd()*255 )
Para agregar una imagen, usamos.
'Establecemos la ruta de la imagen oEP.HeaderBackGraphicURL = ConvertToURL( "/home/mau/arriba.jpg" ) 'Y la posición donde la queremos oEP.HeaderBackGraphicLocation = 10 'Ahora en el pie de página oEP.FooterBackGraphicURL = ConvertToURL( "/home/mau/abajo.jpg" ) 'Y la posición donde la queremos oEP.FooterBackGraphicLocation = 10
Para quitar una imagen agregada, tienes que establecer esta propiedad en vacía.
oEP.HeaderBackGraphicURL = ""
El contenido que puede llevar el encabezado o el pie de página, es muy rico, puedes establecer de forma independiente, el tipo de letra y su estilo de las tres áreas disponibles, como se ilustra en la imagen siguiente.
Veamos como controlar el contenido de estas secciones. Lo primero que tenemos que tener presente, es la opción vista anteriormente; Contenido a la izquierda/derecha igual, si esta propiedad esta seleccionada, entonces solo tenemos que modificar el contenido de un lado, pero si esta desactivada, entonces tenemos que establecer, tanto el encabezado o pie de página, tanto de las páginas pares como de las impares, estas propiedades son.
-
- RightPageHeaderContentPara el encabezado de las páginas derechas
- LeftPageHeaderContentPara el encabezado de las páginas izquierdas
- RightPageFooterContentPara el pie de página de las páginas derechas
- LeftPageFooterContentPara el pie de página de las páginas izquierdas
Para nuestro ejemplo, dado que son las mismas opciones para uno y otro, daremos por hecho que las propiedades (HeaderIsShared y FooterIsShared) están seleccionadas, de este modo, solo modificamos las propiedades de las páginas derechas, que serán iguales a las de la izquierda, pero no te confundas, aun manipulando solo las de las páginas derechas, tenemos acceso a las tres secciones mostradas en la imagen anterior, veamos como.
'Mostramos el contenido de la izquierda del encabezado MsgBox oEP.RightPageHeaderContent.LeftText.String 'Del centro MsgBox oEP.RightPageHeaderContent.CenterText.String 'Y de la derecha MsgBox oEP.RightPageHeaderContent.RightText.String
Vamos a cambiar el texto de mostrado en el ejemplo anterior de las seis secciones accedibles, tres para el encabezado y tres para el pie de página, de la siguiente manera.
Sub FormatoPagina8() Dim oDoc As Object Dim oEstilos As Object Dim oEstilosPagina As Object Dim sEstilo As String Dim oEP As Object Dim oContenido As Object Dim oTexto As Object sEstilo = "Videoteca" oDoc = ThisComponent oEstilos = oDoc.getStyleFamilies() oEstilosPagina = oEstilos.getByName("PageStyles") If oEstilosPagina.hasByName( sEstilo ) Then oEP = oEstilosPagina.getByName( sEstilo ) oEP.HeaderOn = True oEP.FooterOn = True 'Accedemos al contenido del encabezado oContenido = oEP.RightPageHeaderContent() 'Accedemos a la parte izquierda oTexto = oContenido.LeftText() 'Cambiamos el texto oTexto.String = "Esta es la izquierda" & Chr(13) & "en el encabezado" 'Y el color oTexto.Text.CharColor = RGB(255,0,0) 'Reasignamos el contenido para ver los cambios oEP.RightPageHeaderContent = oContenido 'Lo mismo para el centro del encabezado oTexto = oContenido.CenterText() oTexto.String = "Este es el centro" & Chr(13) & "en el encabezado" oTexto.Text.CharColor = RGB(0,255,0) oEP.RightPageHeaderContent = oContenido 'Y la derecha oTexto = oContenido.RightText() oTexto.String = "Esta es la derecha" & Chr(13) & "en el encabezado" oTexto.Text.CharColor = RGB(0,0,255) oEP.RightPageHeaderContent = oContenido 'Ahora modificamos el pie de página oContenido = oEP.RightPageFooterContent() oTexto = oContenido.LeftText() oTexto.String = "Esta es la izquierda" & Chr(13) & "en el pie de página" oTexto.Text.CharColor = RGB(0,0,255) oEP.RightPageFooterContent = oContenido oTexto = oContenido.CenterText() oTexto.String = "Este es el centro" & Chr(13) & "en el pie de página" oTexto.Text.CharColor = RGB(0,255,0) oEP.RightPageFooterContent = oContenido oTexto = oContenido.RightText() oTexto.String = "Esta es la derecha" & Chr(13) & "en el pie de página" oTexto.Text.CharColor = RGB(255,0,0) oEP.RightPageFooterContent = oContenido End If End Sub
Como sabes, hay una serie de campos predeterminados que podemos incluir en cualquier área de un encabezado o de un pie de página, campos como, la fecha, la hora, el número de página y el total de páginas, veamos como insertarlos.
Sub FormatoPagina9() Dim oDoc As Object Dim oEstilos As Object Dim oEstilosPagina As Object Dim sEstilo As String Dim oEP As Object Dim oContenido As Object Dim oTexto As Object Dim oCursor As Object Dim oCampo As Object sEstilo = "Videoteca" oDoc = ThisComponent oEstilos = oDoc.getStyleFamilies() oEstilosPagina = oEstilos.getByName("PageStyles") If oEstilosPagina.hasByName( sEstilo ) Then oEP = oEstilosPagina.getByName( sEstilo ) oEP.HeaderOn = True oEP.FooterOn = True 'Accedemos al contenido del pie de página oContenido = oEP.RightPageFooterContent() 'Creamos una instancia del campo Nombre del archivo oCampo = oDoc.createInstance ("com.sun.star.text.TextField.FileName") 'Limpiamos las tres secciones oContenido.LeftText.String = "" oContenido.CenterText.String = "" oContenido.RightText.String = "" 'Creamos un cursor en esa sección oCursor = oContenido.LeftText.createTextCursor() 'Nos movemos al final oCursor.gotoEnd( False ) 'Insertamos el campo oContenido.LeftText.insertTextContent (oCursor, oCampo, True) 'Creamos el campo Número de página oCampo = oDoc.createInstance ("com.sun.star.text.TextField.PageNumber") 'Creamos un cursor en la sección central oCursor = oContenido.CenterText.createTextCursor() oCursor.gotoEnd( False ) 'Nos movemos oCursor.String = "Página " 'Insertamos un texto oCursor.gotoEnd( False ) 'Nos movemos 'Insertamos el campo oContenido.CenterText.insertTextContent (oCursor, oCampo, True) oCursor.gotoEnd( False ) 'Nos movemos oCursor.String = " de " 'Insertamos más texto oCursor.gotoEnd( False ) 'Nos movemos 'Creamos el campo, Total de páginas oCampo = oDoc.createInstance ("com.sun.star.text.TextField.PageCount") 'Lo insertamos oContenido.CenterText.insertTextContent (oCursor, oCampo, True) 'Creamos el campo de Fecha oCampo = oDoc.createInstance ("com.sun.star.text.TextField.DateTime") oCampo.IsDate = True 'Es una fecha 'Creamos un cursor en la sección derecha oCursor = oContenido.RightText.createTextCursor() oCursor.gotoEnd( False ) 'Nos movemos 'Insertamos el campo oContenido.RightText.insertTextContent (oCursor, oCampo, True) 'Actualizamos el contenido del pie de página oEP.RightPageFooterContent = oContenido End If End Sub