I would like to have the OnEdit trigger to be triggered only when one single cell is edited.
For this example, I would like:
Name of the script function to be triggered: createBulkPDFs Cell that triggers OnEdit: CC2 Name of the Current Sheet: people
The script createBulkPDFs creates a pdf out of the information I input into the google sheet named people.
Thank you.
Here is the script I have right now:
const docFile = DriveApp.getFileById("1GY-3scG8GSNWxGrLbcTghvfKJrTo3DOGvVoC0P4_rvw");
const tempFolder = DriveApp.getFolderById("1IJvto0dOAqbauUPF50dhlBabJL4waBUG");
const pdfFolder = DriveApp.getFolderById("1UkcLY4gjjAcqixLNaZX3BKcUJg9RG4l4");
const currentSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("people");
const data = currentSheet.getRange(2,1,1,80).getDisplayValues();
data.forEach(row => {
createPDF(row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12], row[13], row[14], row[15], row[16],row[17], row[18], row[19], row[20], row[21], row[22], row[23], row[24], row[25], row[26], row[27], row[28], row[29], row[30], row[31], row[32], row[33], row[34], row[35], row[36], row[37], row[38], row[39], row[40], row[41], row[42], row[43], row[44], row[45], row[46], row[47], row[48], row[49], row[50], row[51], row[52], row[53], row[54], row[55], row[56], row[57], row[58], row[59], row[60], row[61], row[62], row[63], row[64], row[65], row[66], row[67], row[68], row[69], row[70], row[71], row[72], row[73], row[74], row[75], row[76], row[77], row[78], row[79], row[0] + " " + row[1], docFile, tempFolder, pdfFolder)
});
}
function createPDF(Community, Date, A1Image, A1Description, A1Coordinates, A1Issue, Employee, A1Tag, A1Score, A1Suggestion, A2Image, A2Description, A2Coordinates, A2Issue, A2Tag, A2Score, A2Suggestion,
A3Image, A3Description, A3Coordinates, A3Issue, A3Tag, A3Score, A3Suggestion,
A4Image, A4Description, A4Coordinates, A4Issue, A4Tag, A4Score, A4Suggestion,
A5Image, A5Description, A5Coordinates, A5Issue, A5Tag, A5Score, A5Suggestion,
A6Image, A6Description, A6Coordinates, A6Issue, A6Tag, A6Score, A6Suggestion,
A7Image, A7Description, A7Coordinates, A7Issue, A7Tag, A7Score, A7Suggestion,
A8Image, A8Description, A8Coordinates, A8Issue, A8Tag, A8Score, A8Suggestion,
A9Image, A9Description, A9Coordinates, A9Issue, A9Tag, A9Score, A9Suggestion,
A10Image, A10Description, A10Coordinates, A10Issue, A10Tag, A10Score, A10Suggestion,
A11Image, A11Description, A11Coordinates, A11Issue, A11Tag, A11Score, A11Suggestion,
pdfName, docFile, tempFolder, pdfFolder) {
//doc id 1GY-3scG8GSNWxGrLbcTghvfKJrTo3DOGvVoC0P4_rvw
//temp folder id 1IJvto0dOAqbauUPF50dhlBabJL4waBUG
// pdf folder id 1UkcLY4gjjAcqixLNaZX3BKcUJg9RG4l4
const tempFile = docFile.makeCopy(tempFolder);
const tempDocFile = DocumentApp.openById(tempFile.getId());
const body = tempDocFile.getBody();
body.replaceText("{Community}",Community);
body.replaceText("{Date}",Date);
body.replaceText("{A1Image}",A1Image);
body.replaceText("{A1Description}",A1Description);
body.replaceText("{A1Coordinates}",A1Coordinates);
body.replaceText("{A1Issue}",A1Issue);
body.replaceText("{Employee}",Employee);
body.replaceText("{A1Tag}",A1Tag);
body.replaceText("{A1Score}",A1Score);
body.replaceText("{A1Suggestion}",A1Suggestion);
body.replaceText("{A2Image}",A2Image);
body.replaceText("{A2Description}",A2Description);
body.replaceText("{A2Coordinates}",A2Coordinates);
body.replaceText("{A2Issue}",A2Issue);
body.replaceText("{A2Tag}",A2Tag);
body.replaceText("{A2Score}",A2Score);
body.replaceText("{A2Suggestion}",A2Suggestion);
body.replaceText("{A3Image}",A3Image);
body.replaceText("{A3Description}",A3Description);
body.replaceText("{A3Coordinates}",A3Coordinates);
body.replaceText("{A3Issue}",A3Issue);
body.replaceText("{A3Tag}",A3Tag);
body.replaceText("{A3Score}",A3Score);
body.replaceText("{A3Suggestion}",A3Suggestion);
body.replaceText("{A4Image}",A4Image);
body.replaceText("{A4Description}",A4Description);
body.replaceText("{A4Coordinates}",A4Coordinates);
body.replaceText("{A4Issue}",A4Issue);
body.replaceText("{A4Tag}",A4Tag);
body.replaceText("{A4Score}",A4Score);
body.replaceText("{A4Suggestion}",A4Suggestion);
body.replaceText("{A5Image}",A5Image);
body.replaceText("{A5Description}",A5Description);
body.replaceText("{A5Coordinates}",A5Coordinates);
body.replaceText("{A5Issue}",A5Issue);
body.replaceText("{A5Tag}",A5Tag);
body.replaceText("{A5Score}",A5Score);
body.replaceText("{A5Suggestion}",A5Suggestion);
body.replaceText("{A6Image}",A6Image);
body.replaceText("{A6Description}",A6Description);
body.replaceText("{A6Coordinates}",A6Coordinates);
body.replaceText("{A6Issue}",A6Issue);
body.replaceText("{A6Tag}",A6Tag);
body.replaceText("{A6Score}",A6Score);
body.replaceText("{A6Suggestion}",A6Suggestion);
body.replaceText("{A7Image}",A7Image);
body.replaceText("{A7Description}",A7Description);
body.replaceText("{A7Coordinates}",A7Coordinates);
body.replaceText("{A7Issue}",A7Issue);
body.replaceText("{A7Tag}",A7Tag);
body.replaceText("{A7Score}",A7Score);
body.replaceText("{A7Suggestion}",A7Suggestion);
body.replaceText("{A8Image}",A8Image);
body.replaceText("{A8Description}",A8Description);
body.replaceText("{A8Coordinates}",A8Coordinates);
body.replaceText("{A8Issue}",A8Issue);
body.replaceText("{A8Tag}",A8Tag);
body.replaceText("{A8Score}",A8Score);
body.replaceText("{A8Suggestion}",A8Suggestion);
body.replaceText("{A9Image}",A9Image);
body.replaceText("{A9Description}",A9Description);
body.replaceText("{A9Coordinates}",A9Coordinates);
body.replaceText("{A9Issue}",A9Issue);
body.replaceText("{A9Tag}",A9Tag);
body.replaceText("{A9Score}",A9Score);
body.replaceText("{A9Suggestion}",A9Suggestion);
body.replaceText("{A10Image}",A10Image);
body.replaceText("{A10Description}",A10Description);
body.replaceText("{A10Coordinates}",A10Coordinates);
body.replaceText("{A10Issue}",A10Issue);
body.replaceText("{A10Tag}",A10Tag);
body.replaceText("{A10Score}",A10Score);
body.replaceText("{A10Suggestion}",A10Suggestion);
body.replaceText("{A11Image}",A11Image);
body.replaceText("{A11Description}",A11Description);
body.replaceText("{A11Coordinates}",A11Coordinates);
body.replaceText("{A11Issue}",A11Issue);
body.replaceText("{A11Tag}",A11Tag);
body.replaceText("{A11Score}",A11Score);
body.replaceText("{A11Suggestion}",A11Suggestion);
//IMAGES
// Insert image1
if(A1Image) {
var element = body.findText("Image1").getElement();
var blob = UrlFetchApp.fetch(A1Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image2
if(A2Image) {
var element = body.findText("Image2").getElement();
var blob = UrlFetchApp.fetch(A2Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image3
if(A3Image) {
var element = body.findText("Image3").getElement();
var blob = UrlFetchApp.fetch(A3Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image4
if(A4Image) {
var element = body.findText("Image4").getElement();
var blob = UrlFetchApp.fetch(A4Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image5
if(A5Image) {
var element = body.findText("Image5").getElement();
var blob = UrlFetchApp.fetch(A5Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image6
if(A6Image) {
var element = body.findText("Image6").getElement();
var blob = UrlFetchApp.fetch(A6Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image7
if(A7Image) {
var element = body.findText("Image7").getElement();
var blob = UrlFetchApp.fetch(A7Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image8
if(A8Image) {
var element = body.findText("Image8").getElement();
var blob = UrlFetchApp.fetch(A8Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image9
if(A9Image) {
var element = body.findText("Image9").getElement();
var blob = UrlFetchApp.fetch(A9Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image10
if(A10Image) {
var element = body.findText("Image10").getElement();
var blob = UrlFetchApp.fetch(A10Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
// Insert image11
if(A11Image) {
var element = body.findText("Image11").getElement();
var blob = UrlFetchApp.fetch(A11Image).getBlob();
var image = element.getParent().asParagraph().insertInlineImage(0, blob);
image.setHeight(400);
image.setWidth(600);}
tempDocFile.saveAndClose();
//This makes a blob out of content of the tempFile
const pdfContentBlob = tempFile.getAs(MimeType.PDF);
//This creates a PDF out of the blob, names it "Our New PDF" and sends it into the pdfFolder
pdfFolder.createFile(pdfContentBlob).setName(pdfName);
//This is to remove file from the tempFolder once the tempFile has been created
tempFolder.removeFile(tempFile);
}```