Skip to main content

Метод Position:insertShape

Вставляет фигуру заданного типа в текущую позицию. Возвращает объект Shape, содержащий вставленную фигуру.

info

Данный метод позволяет добавить фигуру:

  • в позицию текстового документа, в том числе в header/footer;
  • в позицию текста ячейки таблицы текстового документа кроме случая, когда таблица находится внутри фигуры: в этом случае вставка запрещена.

Вызов​


insertShape(DocumentAPI.PresetGeometryType geometryType, DocumentAPI.SizeU size)

Параметры​

‒ geometryType – вид фигуры, тип DocumentAPI.PresetGeometryType;

‒ size – геометрические размеры фигуры для вставки, тип DocumentAPI.SizeU;

Возвращаемые ошибки​

  • NotImplementedError при вызове метода не из текстового документа;
  • DocumentModificationError при заблокированном контенте текстового документа;
  • NotImplementedError при попытке вставить внутри фигуры, в том числе в таблице;
  • NotImplementedError при вставке в footnote/endnote.

Пример вставки фигуры в позицию текстового документа​


shape = document:getRange():getBegin():insertShape(DocumentAPI.PresetGeometryType_Triangle, DocumentAPI.SizeU(100.0, 100.0))

Пример вставки фигуры в заголовок (header) текстового документа​


local section = document:getBlocks():getBlock(0):getSection()
local headers = section:getHeaders()
for header in headers:enumerate() do
headerRange = header:getRange()
position = headerRange:getBegin()
position:insertShape(DocumentAPI.PresetGeometryType_Triangle, DocumentAPI.SizeU(100.0, 100.0))
end

Пример вставки фигуры в ячейку таблицы текстового документа​


table = document:getBlocks():getTable(0)
cell = table:getCell("A1")
range = cell:getRange()
begin = range:getBegin()
shape = begin:insertShape(DocumentAPI.PresetGeometryType_Triangle, DocumentAPI.SizeU(100.0, 100.0))