1

Тема: Вопрос ко всем, кто-то выгружает отчеты в OpenOffice (нужна консультц)

Нужна

2

Re: Вопрос ко всем, кто-то выгружает отчеты в OpenOffice (нужна консультц)

Нужно к отчету прицепить шапку и подножие!

3 Отредактировано Yury Vitovsky (2017-09-04 16:35:04)

Re: Вопрос ко всем, кто-то выгружает отчеты в OpenOffice (нужна консультц)

На вскидку - можно выполнить такой макрос (пример):

Sub Write_text
    Dim Doc As Object
    Dim Sheet As Object
    Dim Cell As Object   
    Dim ShadowFormat As New com.sun.star.table.ShadowFormat
    Dim LastRow As Long
         
    Doc = ThisComponent
    Sheet = Doc.Sheets(0)
    Sheet.Rows.insertByIndex(0, 2)    'вставляем 2 пустые строки для шапки
     
' Вписываем текст шапки    
    Cell = Sheet.getCellByPosition(0, 0)
    Cell.String = "Текст шапки"
    Cell.CharHeight = 14  ' можно форматировать текст.
    Cell = Sheet.getCellByPosition(0, 1)
    Cell.String = "вторая строка шапки"

' Определяем последнюю строку в отчете        
    LastRow = LastRowWithData(0,0) 

' Вписываем текст подножия    
    Cell = Sheet.getCellByPosition(0, LastRow + 1)
    Cell.String = "========================="
    Cell = Sheet.getCellByPosition(0, LastRow + 2)
    Cell.String = "Текст подножия"        
End Sub

Function LastRowWithData (ColumnIndex as long, SheetIndex as long) as long
'позаимствована отсюда: https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=10817
   Dim oCursor As Object, oRange As Object, oSheet As Object
   Dim LastRowOfUsedArea as long, R as long
   Dim RangeData

   oSheet = ThisComponent.Sheets(SheetIndex)
   oCursor = oSheet.createCursor
   oCursor.gotoEndOfUsedArea(False)
   LastRowOfUsedArea = oCursor.RangeAddress.EndRow
   oRange = oSheet.getCellRangeByPosition(ColumnIndex, 0, ColumnIndex, LastRowOfUsedArea)
   oCursor = oSheet.createCursorByRange(oRange)
   RangeData = oCursor.getDataArray

   For R = UBound(RangeData) To LBound(RangeData) Step - 1
       If RangeData(R)(0) <> "" then
          LastRowWithData = R
          Exit Function
       End If
   Next
End Function

4

Re: Вопрос ко всем, кто-то выгружает отчеты в OpenOffice (нужна консультц)

Благодарю, попробую.