________________________________
From: Adriam Delgado Rivero <adrivero@estudiantes.uci.cu>
To: libre <users@global.libreoffice.org>
Sent: Sunday, 28 April 2013, 1:25
Subject: [libreoffice-users] Using UNO API
Using UNO API for java and charge a template that contains a table ....
Did not really follow that.... there is a template that contains a table..... but what you really want to do is simply copy that text table?
I think that I wrote code to do that, but I am having trouble finding it at the moment.
I saw this:
http://www.oooforum.org/forum/viewtopic.phtml?t=66490
I think (65% sure, and 35% unsure), however, that you can use transferable content to copy the text table...
In the link above, I think that they select an entire text table by telling the current controller to select the table object. I have not tried that, but, if it works, it would seem like the way to select it. In OOME, I suggest something like this:
oCellNames = oTable.getCellNames()
oCursor = oTable.createCursorByCellName(oCellNames(0))
oCursor.gotoCellByName(oCellNames(UBound(oCellNames())), True)
oRange = oTable.getCellRangeByName(oCursor.getRangeName()) 'This may fail!
Thiscomponent.getCurrentController.select(oRange)
Oh, wait, i do select the entire table in in Listing 371 and Listing 372...
Oh, yes, indeed, listing 374 I copy the table using the transferable object.
The clipboard is used by all applications so another application may modify the clipboard while the problem is running. The current controller provides access to the transferable content without using the clipboard.
/*Listing 374**. *Copy a text table using transferable content./
Sub CopyNamedTableToEndUsingTransferable(sNameAs String)
Dim oTable'Table to copy
Dim oText'Document's text object
Dim oVCursor'Current view cursor
Dim o'Transferable content
oVCursor= ThisComponent.CurrentController.getViewCursor()
oText= ThisComponent.getText()
If NOT ThisComponent.getTextTables().hasByName(sName) Then
MsgBox "Sorry, the document does not contain table "& sName
Exit Sub
End If
oTable= ThisComponent.getTextTables().getByName(sName)
REM Place the cursor in the start of the first cell.
REM This is very easy!
ThisComponent.CurrentController.select(oTable)
oVCursor.gotoEnd(True) 'Move to the end of the current cell.
oVCursor.gotoEnd(True) 'Move to the end of the table.
o= ThisComponent.CurrentController.getTransferable()
REM Move the cursor to the end of the document and then paste the table.
oVCursor.gotoRange(oText.getEnd(), False)
ThisComponent.CurrentController.insertTransferable(o)
End Sub
I won't even attempt a translation to Java, hope this helps.