У меня есть массив диапазонов, через который я пытаюсь oop защитить, но он больше не работает. Я не знаю, почему. Вчера он работал нормально, но защиты на листе не происходит. Я попытался удалить всех редакторов, но мы все еще можем редактировать. В принципе, у меня есть список именованных диапазонов; Я создаю массив на основе этих диапазонов; затем получить список ранжирования из этого массива; Затем я пропускаю oop через список рангов, чтобы защитить каждый диапазон.
function protectTU(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s1 = ss.getSheetByName("Named Ranges");
var s2 = ss.getSheetByName("Copy of TRUCK UPDATES");
var lr1 = s1.getRange("A3:A").getValues(); //Find last rowv
var lr2 = lr1.filter(String).length; //Find last row
var lr3 = parseInt(lr2) - 1;
var data1 = s1.getRange("A3:E" + lr2).getValues();
var dis = 2;
var i = 1;
var v1 = [];
for (var j = i; j < lr3 - 1; j++)
{
if(data1[j][4] == dis)
{
v1.push(data1[j][1]);
}
if(dis == 1 && j == 43)
{break;}
if(dis == 2 && j == 81)
{break;}
if(dis == 3 && j == 135)
{break;}
}
var ranges = s2.getRangeList(v1);
**for (i = 0; i < ranges.length; i++)
{
var protection = ranges[i].protect().setDescription('Please see the office for permission');
}**
}