[英]why apps script execution failed only when it is triggered by onEdit event on Google Spreadsheet
[英]Google Apps Script OnEdit Trigger to be triggered only when one single cell is edited
我希望僅在編輯一個單元格時觸發 OnEdit 觸發器。
對於這個例子,我想:
要觸發的腳本名稱 function:createBulkPDFs 觸發 OnEdit 的單元格:CC2 當前工作表的名稱:people
腳本 createBulkPDFs 根據我輸入到名為 people 的谷歌表格中的信息創建 pdf。
謝謝你。
這是我現在擁有的腳本:
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);
}```
要僅在編輯一個單元格時觸發 onEdit 觸發器,請嘗試
function onEdit(e){
if (e.value==null) {return}
// do something
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.