Skip to content

Instantly share code, notes, and snippets.

@neno-tech
Created January 25, 2022 08:48
Show Gist options
  • Save neno-tech/7a8e336ba6832765fb91375a2a89aa0e to your computer and use it in GitHub Desktop.
Save neno-tech/7a8e336ba6832765fb91375a2a89aa0e to your computer and use it in GitHub Desktop.
Google form + pdf + sendMail
function formSubmit(e) {
let info = e.namedValues
let pdfFile = createPDF(info)
let entryRow = e.range.getRow()
let ws = SpreadsheetApp.getActive().getSheets()[0]
let userMail = ws.getRange(entryRow, 2).getValue()
ws.getRange(entryRow, 6).setValue(pdfFile.getUrl())
sendEmail(userMail, pdfFile)
}
function sendEmail(email, pdfFile){
GmailApp.sendEmail(email, "xxx","xxx", {
attachments: [pdfFile],
name: 'xxx'
});
}
function createPDF(info){
var date = Utilities.formatDate(new Date(), "GMT+7", "dd/MM/yyyy");
let pdfFolder = DriveApp.getFolderById("xxx")
let tempFolder = DriveApp.getFolderById ("xxx")
let templateDoc = DriveApp.getFileById("xxx")
let newDoc = templateDoc.makeCopy(tempFolder)
let openDoc = DocumentApp.openById(newDoc.getId())
openDoc.getBody().replaceText("{xxx}", info['xxx'][0])
openDoc.getBody().replaceText("{xxx}", info['xxx'][0])
openDoc.getBody().replaceText("{xxx}", info['xxx'][0])
openDoc.saveAndClose()
let blobPDF = newDoc.getAs(MimeType.PDF);
let pdfFile = pdfFolder.createFile(blobPDF).setName(info['xxx'][0] + " " + info['xxx'][0] + "-" +date)
tempFolder.removeFile(newDoc)
return pdfFile
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment