Мой скрипт, кажется, отлично работает для первых двух сотен рабочих книг, но затем он перестает работать, несмотря на то, что он продолжает цикл и помечает каждую букву «х». Более конкретно, он не удаляет средства защиты с листа и не обновляет указанные 3 значения, а обновляет список удаления с помощью «x». Это «х» около 1000 записей до истечения времени ожидания, поэтому я ожидаю, что каждая из этих 1000 записей будет обновлена с указанными значениями.
function fix() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('delete_list');
for(var x = 1; x<=5000; x++){
var wbid = sh.getRange(x,1).getValue()
var file = DriveApp.getFileById(wbid)
var sheet = SpreadsheetApp.open(file).getSheetByName('1. Planned Acres')
var sheet1 = SpreadsheetApp.open(file).getSheetByName('2. Seed')
var protections = sheet.getProtections(SpreadsheetApp.ProtectionType.RANGE)
for (var i = 0; i < protections.length; i++) {
var protection = protections[i];
if (protection.canEdit()) {
protection.remove();
}
}
sheet.getRange('E43').setValue(0);
sheet.getRange('D4').setValue('=D4-E35');
sheet1.getRange('F9').setValue('=if(\'REPORT - ROI ANALYSIS\'!C19=True,\'REPORT - ROI ANALYSIS\'!A41,\"\")');
sh.getRange(x,2).setValue('x');
};
};