Skip to main content

Функция EditorAPI.getSelection

Функция EditorAPI.getSelection() предоставляет доступ к выделенному фрагменту документа. Выделенный фрагмент может представлять собой диапазон текстового документа (Range), встроенный объект (MediaObject), диапазон ячеек (CellRange) или несколько диапазонов ячеек (CellRanges).

В открытом документе может быть выделен только один фрагмент.

Пример​


local selection = EditorAPI.getSelection()
if selection:isInstanceOf(DocumentAPI.Range) then
print(selection:extractText())
end
if selection:isInstanceOf(DocumentAPI.MediaObject) then
print(selection:getFrame())
end
if selection:isInstanceOf(DocumentAPI.CellRange) then
print(selection:getAddress(DocumentAPI.CellRangeAddressSettings()))
end
if selection:isInstanceOf(DocumentAPI.CellRanges) then
for cellRange in selection:enumerate() do
print(cellRange:getAddress(DocumentAPI.CellRangeAddressSettings()))
end
end

Если в текстовом документе отсутствует выделенный фрагмент, то функция EditorAPI.getSelection() возвращает пустой диапазон (Range), который соответствует текущей позиции курсора.

Вставка текста в позицию курсора​


local range = EditorAPI.getSelection()
range:getBegin():insertText("MyText")