Я написал суть , убрал лишние строки кода. Меня интересует можно ли непосредственно создать и менять размер
mMassivDataArray(Num)(Num1) до создания таблицы? Без того, что бы собирать все в промежуточный массив.
Вот сам кусок кода объявление переменных и сроку запроса
ResultSetк базе я упускаю :
ReDim mMassiv(0,5)
mMassiv(0,0) = "п/п"
mMassiv(0,1) = "Номер"
mMassiv(0,2) = "Организация"
mMassiv(0,3) = "Адрес"
mMassiv(0,4) = "Дата"
' Заполняем массив данными из базы
If Not IsNull(ResultSet) Then
While ResultSet.next
lNum=lNum+1
ReDim Preserve mMassiv(lNum,4)
For lNum1=1 to 3
mMassiv(lNum,0) = lNum
mMassiv(lNum,lNum1) = ResultSet.GetString(lNum1)
Next
mMassiv(lNum,4) = cDate(ResultSet.GetString(4))
Wend
End if
oDoc=StarDesktop.loadcomponentfromurl("private:factory/swriter","_blank",0,Array())
oText=oDoc.Text
oCursor=oText.createTextCursor ' создаём скрытый курсор,
oTable1 = oDoc.createInstance("com.sun.star.text.TextTable")
oTable1.initialize(Ubound(mMassiv,1)+1,5)
oDoc.Text.insertTextContent(oCursor, oTable1, False)
oTblColSeps = oTable1.TableColumnSeparators
oTable1.HoriOrient = 6 'таблица занимает всю ширину
oTblColSeps(0).Position =400
oTblColSeps(1).Position =1400
oTblColSeps(2).Position =4600
oTblColSeps(3).Position =8300
oTable1.TableColumnSeparators = oTblColSeps
If Ubound (mMassiv) = 0 then ' данных нет , выходим
Exit Sub
End if
mMassivDataArray=oTable1.getDataArray
mMassivDataArray = mMassiv
oTable1.SetDataArray(mMassivDataArray)