Метод CellRange.copyInto
Метод позволяет копировать (аналог Ctrl+C, Ctrl+V в редакторе таблиц) ячейки текущего диапазона в заданную позицию. Вы можете копировать ячейки в пределах одного листа, а также между листами и документами.
Данный метод реализован только в табличных документах.
Вызов
copyInto(destination, pastingSettings)
Параметры
-
destination: целевой диапазон, тип CellRange. -
pastingSettings: (необязательный) параметры копирования, тип CellRangePastingSettings.
Пример (только для табличного документа)
sourceRange = table.getCellRange("A1:A2")
destRange = table.getCellRange("A2:A3")
sourceRange.copyInto(destRange)
Пример копирования ячеек между листами
document = application.loadDocument("sheet.xods")
sheetList1 = document.getBlocks().getTable(0)
sheetList2 = document.getBlocks().getTable(1)
sourceRange = sheetList1.getCellRange("A1:C3")
destRange = sheetList2.getCellRange("A1:C3")
sourceRange.copyInto(destRange)
Пример настройки копирования ячеек
sheet = document.getBlocks().getTable(0)
sourceRange = sheet.getCellRange("A1:C3")
destRange = sheet.getCellRange("D4:F6")
settings = myOfficeSDK.CellRangePastingSettings()
settings.formulasPastingPolicy = myOfficeSDK.FormulasPastingPolicy_AsValues
settings.stylesPastingPolicy = myOfficeSDK.StylesPastingPolicy_PlainText
sourceRange.copyInto(destRange, settings)
При копировании ячеек в качестве новой позиции достаточно указать верхнюю левую ячейку нового диапазона, однако если необходимо продублировать исходный блок ячеек, в качестве параметра следует использовать диапазон, превышающий размеры исходного диапазона, но кратный его размерам. Например, при копировании диапазона "A1:B2"(размер 2х2)в диапазон `"B5:E6"`(размер 2х4)блок исходных ячеек продублируется два раза (см. Рисунок).

Дополнительный пример использования приведен в разделе Копирование ячеек в табличном документе.