簡體   English   中英

僅在編輯單個單元格時觸發 Google Apps 腳本 OnEdit 觸發器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM