Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var colCertSentIdx = 4;
- var sender = "<your name>";
- var slideTemplate = "<id of the google slide template>";
- const monthNames = ["JAN", "FEB", "MAR", "APR", "MAY", "JUN",
- "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"
- ];
- function onChange(e) {
- // important to know that modifying the sheet in any way will trigger this event
- var ss = SpreadsheetApp.getActive();
- var sheet = e.source.getActiveSheet();
- var sheetName = e.source.getSheetName();
- var changeType = e.changeType;
- console.log(changeType);
- if (changeType == "INSERT_ROW") {
- if (sheetName == "Sheet1") {
- Logger.info("Process the new certificate")
- var lastRow = sheet.getLastRow();
- console.log(`Last row: ${lastRow}`);
- var newData = sheet.getRange(lastRow, 1, 1, 4).getValues()[0];
- var firstName = newData[0];
- var lastName = newData[1];
- var email = newData[2];
- console.log(newData);
- generateCertificate(firstName, email, sender);
- Logger.info("Certificate sent");
- sheet.getRange(lastRow, 4).setValue(new Date());
- }
- }
- }
- function generateCertificate(name, email, sender) {
- var presoTemplate = DriveApp.getFileById(slideTemplate);
- var presoCopy = presoTemplate.makeCopy();
- Logger.info(`New slides: ${presoCopy.getId()}`)
- presoCopy.setName(`${name} Branching Out Unit 1 Certificate`);
- var preso = SlidesApp.openById(presoCopy.getId());
- const d = new Date();
- var displayDate = `${d.getDate()} ${monthNames[d.getMonth()]} ${d.getFullYear()}`;
- preso.replaceAllText("##NAME##", name, false);
- preso.replaceAllText("##DATE##", displayDate, false);
- preso.saveAndClose();
- var presoBlob = presoCopy.getAs('application/pdf');
- presoBlob.setName(preso.getName() + ".pdf");
- var options = {};
- options.name = sender;
- options.attachments = [presoBlob];
- options.htmlBody = `
- <html><body>
- <p>Hey ${name},</p>
- <p>ENTER WHATEVER TYPE OF MESSAGE YOU WANT HERE.</p>
- <p>Please find below your certificate of completion.</p>
- <br>
- <p>Regards,</p>
- <p>YOUR NAME</p>
- </body></html>
- `
- var headline = `${name}! Congratulations on finishing NAME OF THE COURSE`;
- MailApp.sendEmail(email, headline, "", options);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement