Google apps script 谷歌应用程序脚本-通过编辑链接发送电子邮件

Google apps script 谷歌应用程序脚本-通过编辑链接发送电子邮件,google-apps-script,google-sheets,gmail,Google Apps Script,Google Sheets,Gmail,我正在创建一个脚本,在您发送表单后立即发送自定义电子邮件。它工作得很好,但我希望它也能工作,当我编辑表单时,它会发送一封带有所做更改的自动电子邮件 function Initialize() { var triggers = ScriptApp.getProjectTriggers(); for (var i in triggers) ScriptApp.deleteTrigger(triggers[i]); ScriptApp.newT

我正在创建一个脚本,在您发送表单后立即发送自定义电子邮件。它工作得很好,但我希望它也能工作,当我编辑表单时,它会发送一封带有所做更改的自动电子邮件

  function Initialize() {

    var triggers = ScriptApp.getProjectTriggers();

    for (var i in triggers)
        ScriptApp.deleteTrigger(triggers[i]);

        ScriptApp.newTrigger("SendGoogleForm")

    .forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
        .onFormSubmit().create();
}

function SendGoogleForm(e) {

  var s = SpreadsheetApp.getActiveSheet();
  var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];    
  var message = "Please paste this!\n\n";
  var subject = "Email: ID: ";
  var email = "";
  //
  var form = FormApp.openById('*******************'); //this is the ID in the url of your live form
  var formResponses = form.getResponses();
//
   for (var i = 0; i < formResponses.length; i++) {
   var formResponse = formResponses[i];

 }
  for(var i in headers) {
  if ( e.namedValues[headers[i]].toString() != "") {
     message += headers[i] + ': '+ e.namedValues[headers[i]].toString() + "\n";  
  }
   }

  subject += e.namedValues[headers[2]].toString();
  email += e.namedValues[headers[1]].toString();
  message += "Edit Link: " + formResponse.getEditResponseUrl();
  MailApp.sendEmail(email, subject, message); 

  }
函数初始化(){
var triggers=ScriptApp.getProjectTriggers();
for(触发器中的var i)
ScriptApp.deleteTrigger(触发器[i]);
ScriptApp.newTrigger(“SendGoogleForm”)
.forSpreadsheet(SpreadsheetApp.getActiveSpreadsheet())
.onFormSubmit().create();
}
函数SendGoogleForm(e){
var s=SpreadsheetApp.getActiveSheet();
var headers=s.getRange(1,1,1,s.getLastColumn()).getValues()[0];
var message=“请粘贴此!\n\n”;
var subject=“电子邮件:ID:”;
var email=“”;
//
var form=FormApp.openById('*****************');//这是live表单url中的ID
var formResponses=form.getResponses();
//
对于(var i=0;i
我发现了一个脚本,可以在编辑时帮助发送电子邮件,但我不确定如何实现它(在google docs论坛中找到):

函数checkResponse(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var s=ss.getSheetByName('Form Responses 1');
var lastRow=s.getLastRow();
var range=s.getRange('A'+lastRow+':C'+lastRow);
var notes=range.getNotes();
var values=range.getValues();
var changedFlag=null;
变量体=“”;
对于(var i=0;i
有人能帮忙吗?有人能帮忙吗?
function checkResponse() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('Form Responses 1');
  var lastRow = s.getLastRow();
  var range = s.getRange('A' + lastRow + ':C' + lastRow);
  var notes = range.getNotes();
  var values = range.getValues();
  var changedFlag = null;
  var body = '';

  for (var i = 0; i < notes[0].length; i++ ) {
    if ( notes[0][i] == 'Responder updated this value.' ) {
      changedFlag = true;
      // We know only to send the changed values

      // Add changed value to email msg
      body += values[0][i];

      // May also want to clear the note as it remains after future edits of other values as well
      s.getRange(lastRow, i).clearNote();
    } 
  }

  if ( !changedFlag ) {
    // Email the whole row of values 
    for (var i = 0; i < values.length; i++) {
      body += values[0][i];
    }
  }

  GmailApp.sendEmail(recipient, subject, body)
}