Макросы в libreoffice
Автор Ўрий Антоневич задал вопрос в разделе Другие языки и технологии
Макросы и получил лучший ответ
Ответ от ...[гуру]
И Вам не хворать: Макрос на LibreOffice basic: sub macro1 ThisComponent.Sheets.getByName("Sheet2").getCellRangeByName("B1").setValue(ThisComponent.Sheets.getByName("Sheet1").getCellRangeByName("A1").getValue) end sub Где: Sheet1 - имя листа 1, A1 - ячейка в первом листе Sheet2 - имя листа 2, B1 - ячейка во втором листе Если то-же самое, но по шагам: sub macro1 Dim objDocument as object 'Объект - документ Dim objSheet as object 'Объект-лист Dim objCell as object 'Объект-ячейка Dim objValue 'Значение ячейки objDocument = ThisComponent 'Получаем текущий документ objSheet = objDocument.Sheets.getByName("Sheet1") 'Получаем по имени лист1 objCell=objSheet.getCellRangeByName("A1") 'Получаем по имени ячейку A1 objValue = objCell.getValue 'Запоминаем значение objSheet = objDocument.Sheets.getByName("Sheet2") 'Получаем по имени лист2 objCell = objSheet.getCellRangeByName("B2") 'Получаем по имени ячейку B2 objCell.setValue(objValue) 'Устанавливаем значение end sub На всякий случай проверил в последнем LibreOffice - работает P.S: Вместо getCellRangeByName можно использовать getCellByPosition(целое, целое) (координаты, начинающиеся с 0 н-р ячейка A1 = getCellByPosition(0,0)