Я пишу офисный скрипт, который требует сортировки на листе с общей защитой листа и незащищенными конкретными ячейками. Мне нужно иметь возможность сортировать незащищенный диапазон с помощью автоматизации, но защита ограничивает это, даже несмотря на то, что я разрешил "сортировку" в параметрах защиты. Есть ли способ снять защиту, а затем снова защитить лист как часть скриптов? Включая пароли?
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Очистить автофильтр на selectedSheet
selectedSheet.getAutoFilter().clearCriteria();
// Пользовательская сортировка диапазона C9:I6001 на selectedSheet
selectedSheet.getRange("C9:I6001").getSort().apply([{key: 0, ascending: true}], false, true, ExcelScript.SortOrientation.rows);
// Применить фильтр значений на selectedSheet
selectedSheet.getAutoFilter().apply(selectedSheet.getAutoFilter().getRange(), 6, { filterOn: ExcelScript.FilterOn.values, values: ["1"] });
}
techcommunity.microsoft.com
Unprotect in Office Scripts
