частности.
Есть ли в LO вариант сгруппировать строки в какую-либо строку сверху или снизу? Если можно, то что за опция отвечает за это в Бэйсике?
В VBA реализуется так:
With ThisWorkbook.Worksheets(1)
Range(.Cells(2, 1), .Cells(5, 1)).Rows.Group
.Outline.SummaryRow = xlAbove
End With
Код сгруппирует строки со 2-й по 5-ю, а плюсик будет торчать у первой строки. Т.е., первая строка будет выступать своего рода заголовком.
Доброго дня! LibreOffice Basic (LO Basic) действительно поддерживает группировку строк, однако для управления позицией строки с кнопкой сворачивания/разворачивания (SummaryRow) можно использовать специальные свойства. Вот пример кода на LO Basic, который группирует строки со 2-й по 5-ю и устанавливает кнопку сворачивания над группой: Sub GroupRowsWithSummaryAbove Dim oSheet As Object Dim oRange As Object Dim oOutline As Object ' Получаем доступ к активному листу oSheet = ThisComponent.CurrentController.ActiveSheet ' Определяем диапазон строк для группировки (2-я по 5-ю строки) oRange = oSheet.getCellRangeByPosition(0, 1, 0, 4) ' Создаем группировку строк oRange.Rows.Group ' Устанавливаем строку-сводку над группой oOutline = oSheet.getRows().getPropertyValue("Outline") oOutline.SummaryBelow = False End Sub В данном коде: - ThisComponent.CurrentController.ActiveSheet используется для получения текущего активного листа. - getCellRangeByPosition(0, 1, 0, 4) выбирает диапазон ячеек (столбец 0, строки 1-4). - Rows.Group создает группу строк. - getRows().getPropertyValue("Outline") используется для получения объекта Outline, а затем свойство SummaryBelow устанавливается в False для размещения кнопки сворачивания над группой строк. Этот код аналогичен вашему VBA коду и реализует ту же функциональность в LibreOffice.
ответ от чатГПТ что ли?
Сработало?
Обсуждают сегодня