Muchas gracias por responder funciona espectacular.............nuevamentE GRACIASSSS
He buscado pero no hay mucho por alli respecto al manejo de tablas en documentos writer
- creo una tabla, la lleno con datos de una base de datos, la selecciono y ajusto el anchooptimo.
hasta alli todo bien.
Lo que necesito es setear el ancho de cada columna con los cms. que yo quiero darle y no se cual es la propiedad
que setea el ancho por columna. y la altura de las filas, tambien me vendria bien un ejemplo de como ajustar
los estilos de caracteres y bordes.
Muchas gracias
sLs
[RESUELTO]Ancho columna (TEXTTable)
[RESUELTO]Ancho columna (TEXTTable)
Última edición por jvdeoli el Mié Abr 07, 2010 4:41 am, editado 2 veces en total.
OpenOffice 3.2-OpenSuSe 11.3
Re: Ancho columna (TEXTTable)
Un fragmento de código de cuando usaba tablas en vez de tabuladores para ordenar los datos:
Es decir, las columnas se definen en la colección TableColumnSeparators, que tiene un elemento menos que columnas hay en la tabla.
Estos elementos son estructuras (struct TableColumnSeparator) que contienen Position (short) e IsVisible (Boolean).
http://api.openoffice.org/docs/common/r ... rator.html
La propiedad Position de cada separador va marcando el ancho. Yo ajustaba con respecto al ancho relativo. Ignoro cómo hacerlo en centímetros.
Nota: {TabSeps=Tabla.TableColumnSeparators} crea una COPIA de los separadores. Por eso hay que volverla a copiar luego con {Tabla.TableColumnSeparators=TabSeps}.
Los estilos de caracteres se cambian en la tabla igual que en el texto del documento, pero desde un cursor en la tabla.
Aquí el código que usaba para quitar los bordes de la tabla:
Código: Seleccionar todo
'Inserta la tabla
Tabla=Doc.CreateInstance("com.sun.star.text.TextTable")
Tabla.Initialize(1,5)
Doc.Text.InsertTextContent(Cursor,Tabla,False)
'Ajusta el tamaño de las columnas
TabSeps=Tabla.TableColumnSeparators
TabSeps(0).Position=Tabla.TableColumnRelativeSum*0.05
TabSeps(1).Position=Tabla.TableColumnRelativeSum*0.15
TabSeps(2).Position=Tabla.TableColumnRelativeSum*0.85
TabSeps(3).Position=Tabla.TableColumnRelativeSum*0.95
Tabla.TableColumnSeparators=TabSepsEstos elementos son estructuras (struct TableColumnSeparator) que contienen Position (short) e IsVisible (Boolean).
http://api.openoffice.org/docs/common/r ... rator.html
La propiedad Position de cada separador va marcando el ancho. Yo ajustaba con respecto al ancho relativo. Ignoro cómo hacerlo en centímetros.
Nota: {TabSeps=Tabla.TableColumnSeparators} crea una COPIA de los separadores. Por eso hay que volverla a copiar luego con {Tabla.TableColumnSeparators=TabSeps}.
Los estilos de caracteres se cambian en la tabla igual que en el texto del documento, pero desde un cursor en la tabla.
Código: Seleccionar todo
Celda=Tabla.GetCellByPosition(2,0) : CursorC=Celda.CreateTextCursor()
CursorC.CharFontName=sFuente : CursorC.CharHeight=10 : CursorC.CharWeight=com.sun.star.awt.FontWeight.BOLD
CursorC.ParaAdjust=com.sun.star.style.ParagraphAdjust.CENTER
Código: Seleccionar todo
'Sin Bordes
TabBorder=Tabla.TableBorder
TabL=TabBorder.TopLine : TabL.OuterLineWidth=0
TabBorder.TopLine=TabL
TabBorder.HorizontalLine=TabL
TabBorder.BottomLine=TabL
TabBorder.LeftLine=TabL
TabBorder.VerticalLine=TabL
TabBorder.RightLine=TabL
Tabla.TableBorder=TabBorderOOo 3.3.0: OOO330m20 (Build:9567) en WXP+SP3 y en Ubuntu 10.10