Прежде всего, я очень новичок в программировании и просто выясняю все по ходу дела. Я пытаюсь написать скрипт приложения, который будет копировать определенные файлы по идентификатору (идентификаторы хранятся в файле листа Google) в эту новую папку, которая создается при отправке формы. Но мой for бросает цикл и выдает ошибку: «Не удалось найти элемент с данным идентификатором, или у вас нет разрешения на доступ к нему» (строка 30, файл «Сценарий приложения»)
Даже если язапустить код с каждым файлом (byID) по отдельности, он работает. Может кто-нибудь сказать мне, что я делаю неправильно (идентификаторы в коде ниже не являются действительными идентификаторами)
function SheetAutomation(){
function getSheetById(id) {
return SpreadsheetApp.getActive().getSheets().filter(
function(s) {return s.getSheetId() === id;}
)[0];
}
var sheet_form_res = getSheetById(1692343941);
var lr = sheet_form_res.getLastRow();
var casenumber = sheet_form_res.getRange(lr,1).getValue();
Logger.log(casenumber);
var folder = DriveApp.getFolderById("1tr2A3e3edwelB8dgkN8tgdPYv8T8V6");
var newFolder = folder.createFolder(casenumber);
var newFolderID = newFolder.getId();
Logger.log('newFolderID: ' + newFolderID);
var casefolderid = sheet_form_res.getRange(lr, 7).setValue(newFolderID);
Logger.log('Casefolder id: ' + casefolderid.getValues());
var sheet_dsd_image_id = getSheetById(1233563458640);
var num_dsd_images = sheet_dsd_image_id.getRange(lr,1).getValue();
Logger.log('num_dsd_images: ' + num_dsd_images);
for (var i=0; i<=num_dsd_images; i++){
var image_id = sheet_dsd_image_id.getRange(lr,i+1).getValue();
Logger.log(image_id);
// The line of code that doesn't work
var image_file = DriveApp.getFileById(image_id);
Logger.log(image_file);
}
};
Я заменил цикл forсо следующим, чтобы увидеть, если у меня действительно не было доступа к файлам, но это, кажется, работает, я просто не могу заставить его работать через цикл
var image_id_1 = sheet_dsd_image_id.getRange(lr,2).getValue();
var image_file_1 = DriveApp.getFileById(image_id_1);
Logger.log(image_file_1);
image_file_1.makeCopy(newFolder);
var image_id_2 = sheet_dsd_image_id.getRange(lr,3).getValue();
var image_file_2 = DriveApp.getFileById(image_id_2);
Logger.log(image_file_2);
image_file_2.makeCopy(newFolder);
var image_id_3 = sheet_dsd_image_id.getRange(lr,4).getValue();
var image_file_3 = DriveApp.getFileById(image_id_3);
Logger.log(image_file_3);
image_file_3.makeCopy(newFolder);
Триггеры проекта следующие: Скриншот окна триггера проекта