Página 1 de 1

[RESUELTO] Cómo inserto una tabla en una posición del doc?

Publicado: Lun Nov 13, 2017 5:38 pm
por Weog
Hola.
Necesito saber cómo hago para insertar una tabla de datos en una posición específica de un documento. Para ello he indicado la posición con una etiqueta <<TLIQDATA>> en un documento que contiene varios párrafos con una estructura como esta:

" TITULO

Párrafo 1: xxxv ...

Párrafo 2: yyyyx....

Párrafo 3: zzzza....

«TLIQDATA»

Párrafo 4: ...."

El código que utilizo para insertar la tabla es el siguiente:

Código: Seleccionar todo

loFandR.SearchString("«TLIQDATA»")

loCursor = loOpenDoc.text.CreateTextCursor()
loOpenDoc.text.insertString(loCursor, "Datos de la tabla a mostrar:. ", .f.)

objTable= loOpenDoc.createInstance( "com.sun.star.text.TextTable")
objTable.initialize(2, 4) 
loCursor.text.insertTextContent(loCursor, objTable, .f.)
 
*'Get first row
objRows= objTable.getRows
objRow= objRows.getByIndex( 0)
 
*'Fill the first table row
_OpenOffice_insertIntoCell ("A1","FirstColumn", objTable )
_OpenOffice_insertIntoCell ("B1","SecondColumn", objTable )
_OpenOffice_insertIntoCell ("C1","ThirdColumn", objTable )
_OpenOffice_insertIntoCell ("D1","SUM", objTable )
 
objTable.getCellByName("A2").setValue(22.5)
objTable.getCellByName("B2").setValue(5615.3)
objTable.getCellByName("C2").setValue(-2315.7)
objTable.getCellByName("D2").setFormula ("sum ")

Pero el resultado es que la tabla la ubica al inicio del documento y no entre los párrafos 3 y 4 donde la necesito.

Me pueden ayudar por favor?

Re: Cómo inserto una tabla en una posición específica del do

Publicado: Lun Nov 13, 2017 6:44 pm
por FJCC-ES
Código en BASIC

Código: Seleccionar todo

loFandR = ThisComponent.createSearchDescriptor()
loFandR.SearchString = "«TLIQDATA»" 'era loFandR.SearchString("«TLIQDATA»")
oTexto = ThisComponent.findFirst(loFandR)

loCursor = ThisComponent.text.CreateTextCursorByRange(oTexto)

ThisComponent.text.insertString(loCursor, "Datos de la tabla a mostrar:. ", TRUE)

objTable= ThisComponent.createInstance( "com.sun.star.text.TextTable")
objTable.initialize(2, 4)
loCursor.text.insertTextContent(loCursor.End, objTable, FALSE)

Re: Cómo inserto una tabla en una posición específica del do

Publicado: Lun Nov 13, 2017 7:07 pm
por Weog
Excelente! mil gracias por tu ayuda. me funciona perfecto.