Skip to main content

Метод 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)блок исходных ячеек продублируется два раза (см. Рисунок).

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