Skip to main content

Защита структуры табличного документа

Защита структуры документа ограничивает взаимодействие с листами табличного документа. Пока защита установлена, вы не можете добавлять, удалять, скрывать, перемещать и переименовывать листы.

Для защиты структуры используется метод Document::setStructureProtection(). Опционально вы можете передать в качестве параметра пароль, который будет необходим для снятия защиты:


document.setStructureProtection("password");

При изменении листов в документе с защищенной структурой, возникает исключение SpreadsheetProtectionError. Также это исключение возникает при установке защиты структуры на уже защищенный документ.


Table sheet = document.getBlocks().getTable(0).get();
sheet.remove(); // SpreadsheetProtectionError

Используйте метод Document::isStructureProtected() для получения состояния защиты структуры документа:


std::printf("%s", document.isStructureProtected() ? "True" : "False"); // True

Метод Document::removeStructureProtection() позволяет снять защиту структуры. В качестве параметра вы можете передать пароль, если он использовался при установке защиты. В случае несоответствия введенного пароля заданному при установке, возникает исключение IncorrectPasswordError.


document.removeStructureProtection("password");