我的腳本從工作表'Studenti'需要35個學生姓名。然後找到與他們的名字(即'史密斯彼得')正確的文件夾,刪除舊的成績保存他們的名字(即'史密斯彼得.pdf')的pdf文件,並保存到文件夾('史密斯彼得')一個新的pdf具有新成績的文件('Smith Peter.pdf')。然後從名單中接受另一名學生。學生成績簿。無法完成腳本,因爲「訪問被拒絕:DriveApp」
問題:1,2或3次迭代後腳本停止說:訪問被拒絕:DriveApp。 (第22行,文件「代碼」:files.next()。setTrashed(true);)。一週前,該腳本沒有任何問題,我嘗試在這裏更改名稱,文件夾,目的地,源表和檢查建議。但沒有成功。我不知道22號線有什麼問題,請幫忙!
的代碼是封閉
Execution transcript(顯示在腳本已停止)
function generatePdf() {
var report = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // Gradebook ready to save as pdf
var zasobnik = SpreadsheetApp.openById('1eygLDH0iJoXfcVOMIin0hnKpMF59HszmXZosPKvwYWc');
var zasobsheet = zasobnik.getSheetByName("Studenti"); // list of 35 students with names, Folder IDs
var data = zasobsheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++){
report.getRange('B2').setValue(data[i][0]); // setting student's name in a gradebook (first column)
report.getRange('B3').setValue(' '); // just to jump from B2 to B3
var pdf = DriveApp.getFileById('1WHwm7xK28Orj22RxaKWEsCl3UWvWxYUhRg4ZGf87-GQ'); // ID of Gradebook (IF of ActiveSpreadsheet)
var theBlob = pdf.getBlob().getAs('application/pdf').setName(data[i][0] + ".pdf");
var folder = DriveApp.getFolderById(data[i][2]); // third column
var files = DriveApp.getFilesByName(data[i][0] + ".pdf"); // pdf with old grades
while (files.hasNext()) {
files.next().setTrashed(true);
}
var newFile = folder.createFile(theBlob); // creating pdf with new grades in the student's folder
}
}