Google apps script 谷歌应用程序脚本:我如何获得一个表单,将其是/否答案写回精确的电子表格和单元格?

Google apps script 谷歌应用程序脚本:我如何获得一个表单,将其是/否答案写回精确的电子表格和单元格?,google-apps-script,Google Apps Script,我为请假表单创建了以下代码。我如何才能得到它,以便当经理通过生成表单的方式审查请求时,将决策添加回原始电子表格?正是这个表单“form=FormApp.create”(“请假请求”+UID)”,我希望是/否响应返回到原始表单。我已经查看了可执行触发器,但不确定这是否适用于我的情况 var SpreadsheetID = ""; var SheetName = "" function onFormSubmit(e) { var ss = Sp

我为请假表单创建了以下代码。我如何才能得到它,以便当经理通过生成表单的方式审查请求时,将决策添加回原始电子表格?正是这个表单“form=FormApp.create”(“请假请求”+UID)”,我希望是/否响应返回到原始表单。我已经查看了可执行触发器,但不确定这是否适用于我的情况

var SpreadsheetID = "";
var SheetName = ""

  function onFormSubmit(e) {

    var ss = SpreadsheetApp.openById(SpreadsheetID)
    var sheet = ss.getSheetByName(SheetName)
    
    /**Gets last row in data series*/
    var Avals = sheet.getRange("A1:A").getValues();
    var Alast = Avals.filter(String).length;
    /**Gets email address from spreadsheet*/
    var range = sheet.getRange(Alast,"17");
    var emailaddy  = range.getValue();
    var range_prenom = sheet.getRange(Alast,"18");
    var email_recep  = range_prenom.getValue();
    var range_UID = sheet.getRange(Alast,"19");
    var UID  = range_UID.getValue();

    /** Following data is the same regardless of whether whole day or part day */

    var name = e.namedValues.Name[0];
    var date_from = e.namedValues.Date_From[0];
    var leave_type = e.namedValues.Leave_type[0];
    var paid = e.namedValues.Paid[0];
    var info = e.namedValues.Add_info[0];
    var cover = e.namedValues.Cover[0];
    var period = e.namedValues.Whole_day[0];
    var subject =  "Leave Request Submitted from " + name;
    var date_to = e.namedValues.Date_to[0];
    var time_from = e.namedValues.Time_from[0];
    var time_to = e.namedValues.Time_to[0];

  Logger.log(Alast);
  Logger.log(emailaddy);
  Logger.log(e);
  Logger.log(e.namedValues);

  /** Following section is the creation of the form */

   /**Following is for the whole day answer */

  if (period == 'Yes'){
  
      var form = FormApp.create("Request for Leave" + UID)
          .setTitle(name + " REQUEST FOR LEAVE" )
          .setDescription("LEAVE DATES REQUESTED; \n\n"  + date_from + " to " + date_to + "\n\nTYPE OF LEAVE; \n\n" + paid + " " + leave_type + "\n\nREASON FOR THE REQUEST; \n\n " + info + "\n\nCOVER HAS BEEN ARRANGED BY \n\n" + cover +"\n"  )

        }

  /** Following is for the partial day request */
        
        else{ 

      var form = FormApp.create("Request for Leave" + UID)
          .setTitle(name + " PARTIAL DAY REQUEST FOR LEAVE" )
          .setDescription("LEAVE DATE REQUESTED; \n\n"  + date_from  + " between " + time_from + " and " + time_to + "\n\nTYPE OF LEAVE; \n\n" + paid + " " + leave_type + "\n\nREASON FOR THE REQUEST; \n\n " + info + "\n\nCOVER HAS BEEN ARRANGED BY \n\n" + cover +"\n"  );
    }

      // radiobuttons  
      item = "Leave approved?";
          var choices = ["YES", "NO",];  
      form.addMultipleChoiceItem()  
          .setTitle(item)  
          .setChoiceValues(choices)  
          .setRequired(true); 

      var form_url = form.getPublishedUrl()
      Logger.log(form_url)
      var message = "Please review leave request here; \n " + form_url
      var form_ID = form.getId()
      Logger.log(form_ID)

    SpreadsheetApp
      .getActiveSheet()
      .getRange(Alast,"20")
      .setValue(form_ID);

      MailApp.sendEmail (emailaddy, subject, message)


  }


您可能可以使用UID和其他标记以及开发人员元数据来保持指向原始工作表的指针。