Я создал небольшой код для условно защищенной ячейки с помощью редактора сценариев в электронной таблице Google. Назначение кода - разрешить ввод в другую ячейку только после заполнения ячейки над ней. Например, вы можете вводить данные от B3 до B13 только при заполнении B2. Я написал некоторый код там, и я использовал триггер для проекта. Но кое-что, как код не работает для меня, а также есть много ошибок, записанных в триггере. Я сделал 2 триггера для функции, 1 - триггер при открытии, а другой - триггер при изменениях. Ищу советы.
function cellcheck() {
// Protect range A1:B10, then remove all other users from the list of editors.
var ss = SpreadsheetApp.getActive();
var column = "B";
var lastrow = ss.getLastRow();
// Ensure the current user is an editor before removing others. Otherwise, if the user's edit
// permission comes from a group, the script will throw an exception upon removing the group.
for (i=2;i<=lastrow;i++){
var checking = ss.getRange(i,2).getValue();
if (checking == "") {
var FBlock = i+10;
// var LBlock = i+10;
var range = ss.getRange(column + FBlock + ':'+column + lastrow);
var protection = range.protect().setDescription('Sample protected range');
}
else {
var lastUnblock= i+10
var unprotected = ss.getRange([column + i + ':'+column + lastUnblock])
protection.setUnprotectedRanges([unprotected]);
}
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
protection.setDomainEdit(false);
}
}
}
изображение для моего триггера проекта