Boa tarde,
Acredito que por formulário você esteja se referindo às caixas de diálogo do LibreOffice Basic. Nesse caso, os controles de tabela infelizmente não são acessíveis pela interface, apenas por código.
Abaixo coloco um exemplo de controle de tabela em diálogo:
Código:
REM ***** BASIC *****
Dim oDialogo As Object
Dim oTabela As Object
Sub IniciarDialogo
DialogLibraries.LoadLibrary("Standard")
'Usando a variável declarada no começo do módulo'
oDialogo = CreateUnoDialog( DialogLibraries.Standard.getByName("Dialogo1") )
'Criar controle tabela'
oTabela = oDialogo.Model.createInstance("com.sun.star.awt.grid.UnoControlGridModel")
with oTabela
.PositionX = 10
.PositionY = 10
.Width = 171
.Height = 85
end with
'Adicionar as colunas'
oDoc = ThisComponent
oPlan = oDoc.Sheets(0)
oColunas = oTabela.ColumnModel
oCol = oColunas.createColumn()
oCol.Title = oPlan.getCellRangeByName("A1").String
oCol.ColumnWidth = 20 'Definir largura'
oCol.Flexibility = False 'Para fixar largura'
oColunas.addColumn(oCol)
oCol = oColunas.createColumn()
oCol.Title = oPlan.getCellRangeByName("B1").String
oColunas.addColumn(oCol)
oCol = oColunas.createColumn()
oCol.Title = oPlan.getCellRangeByName("C1").String
oColunas.addColumn(oCol)
oCol = oColunas.createColumn()
oCol.Title = oPlan.getCellRangeByName("D1").String
oCol.ColumnWidth = 30 'Definir largura'
oCol.Flexibility = False 'Para fixar largura ao iniciar'
oColunas.addColumn(oCol)
'Inserir o controle tabela no diálogo'
oDialogo.Model.insertByName("Tabela", oTabela)
'Carregar'
oDialogo.Execute()
oDialogo.Dispose()
End Sub
Sub CarregarDados
oDoc = ThisComponent
oPlan = oDoc.Sheets(0)
oIntervalo = oPlan.getCellRangeByPosition(0,1,3,UltimaLinha(oPlan))
oTabela = oDialogo.getControl("Tabela").Model
oDadosTab = oTabela.GridDataModel
oDadosTab.removeAllRows
mDados = oIntervalo.DataArray
For i= 0 to UBound(mDados)
oDadosTab.addRow("", mDados(i))
Next i
End Sub
Function UltimaLinha( oPlan )
oCursor = oPlan.createCursor
oCursor.gotoEndOfUsedArea(True)
UltimaLinha = oCursor.Rows.Count-1
End Function
Atte,