Я учитель (а это значит, что я на самом деле не знаю, что я делаю), который пытается сделать рутинную документацию быстрее для наших сотрудников. Я создал лист Google, который будет вставлять информацию из строки ячеек в документ Google. Я хотел бы выяснить, как при запуске сценария он будет запускать его для каждой строки и собирать все в формате PDF, чтобы я печатал данные сразу от нескольких студентов. Вот ссылка на мой документ Google 100 * * о том, что я запускаю этот скрипт.
Есть идеи о том, как я мог бы заставить эту работу? Сценарий, который у меня сейчас есть, работает для первой строки, но он не будет переходить к дополнительным строкам.
var data = sheet.getRange(4,1,sheet.getLastRow(),
sheet.getLastColumn()).getValues();
//var data = sheet.getRange(4,1,1,sheet.getLastColumn()).getValues();
var i;
for (i = 0; i < data.length ; i++)
var row = data[i++];{
// setting up the temporary document
var docid = DriveApp.getFileById(templateid).makeCopy().getId();
var doc = DocumentApp.openById(docid);
var body = doc.getBody();
// I have removed the parts that gather data and the replace text.
ss.toast("Creating your ALE document");
Utilities.sleep(sleepINT);
var file = DriveApp.getFileById(doc.getId());
var newfolder = DriveApp.getFolderById("1oQ8evDj8dlHoDdX01DvZqjcIkSq31oen");
var oldfolder = DriveApp.getFolderById("1IzY9PiobBC-O87AxCkU32j2n2wUU1zUE");
newfolder.addFile(file);
oldfolder.removeFile(file);
ss.toast("PDF has been created!");
Utilities.sleep(sleepINT);
var usernamefordoctitle = sheet.getRange(4,1,1,1).getValues()
var name = doc.getName();
doc.setName(month + " ALE for " + studentName);
ss.toast("Document has been named");
Utilities.sleep(sleepINT);
doc.saveAndClose();
var pdffolder = DriveApp.getFolderById ("1iwBEUZpFwz_eaCVKemYozF5FA0_t0YGv");
var pdfFILE = DriveApp.getFileById(doc.getId()).getAs('application/pdf');
pdfFILE.setName(doc.getName() + ".pdf");
var theFile = DriveApp.createFile(pdfFILE);
pdffolder.addFile(theFile);
ss.toast("Document has been saved to Google Drive");
Utilities.sleep(sleepINT);
var pdfEMAIL = DriveApp.getFileById(doc.getId()).getAs('application/pdf').getBytes();
var message = "This is your" + month + "ALE documents for your AG student."
var emailTo = emailAddress;
var subject = "Your " + month + " ALE for " + studentName + " ?";
var message = "The attached pdf document is your " + month + " monthly ALE document for " + studentName + ".";
MailApp.sendEmail(emailTo, subject, message, {attachments: pdfFILE});
ss.toast("Email has been sent");
}
Utilities.sleep(sleepINT);
ss.toast("? FINISHED!!!! ?");
}