Защита диапазона текстового документа
Вы можете защитить от изменений диапазон текстового документа. Данные в таком диапазоне нельзя модифицировать до снятия защиты.
Используйте метод Range:lockContent() для установки защиты:
-- Защита первого абзаца документа:
local textRange = document:getRange():getBegin():getCurrentRange(DocumentAPI.TextUnit_Paragraph)
textRange:lockContent()
При попытке редактирования защищенного фрагмента возникает исключение DocumentModificationError:
local pos = textRange:getContentEnd():getPreviousPosition(10)
pos:insertText("My Text") -- DocumentModificationError
Чтобы определить, защищен ли диапазон документа, используйте метод Range:isContentLocked(). Он возвращает true, если текущий диапазон защищен целиком или содержит защищенные фрагменты:
print(textRange:isContentLocked()) -- true
print(document:getRange():isContentLocked()) -- true
Для снятия защиты, вызовите метод Range:unlockContent() защищенного фрагмента или диапазона текста, который его содержит:
textRange:unlockContent()
-- или
document:getRange():unlockContent()
Также вы можете снять защиту только с части диапазона:
-- Снятие защиты с последнего предложения защищенного абзаца:
textRange:getContentEnd():getPreviousRange(DocumentAPI.TextUnit_Sentence):unlockContent()