谷歌脚本采取谷歌表格结果并填写另一个表格?

时间:2013-10-08 12:50:04

标签: google-apps-script google-sheets google-form

我不是程序员,但已复制并粘贴其他脚本,以便在提交时通过电子邮件发送一些表格。

如果谷歌表单上的一个答案是真的,我想提取一些提交的结果并填写我创建的另一个谷歌表单。这可能吗?感谢。

这是一个代码示例,我将它们拼凑在一起,在提交时通过电子邮件发送一个表单的结果。

    function sendFormByEmail(e) {
  var email = "xyxy@yyy.com";
    var subject = "Practice Referral Form";
  var msgHtml = e.values[5] + "," + "<br/> <br/> <br/>"
        + "Your instructor has referred you to practice the content/skills below. =" + "<br/>"
        + "<h1><b>Referral Information:</b></h1>"
        + "<b>Instructor:  </b> " + e.values[1] + "<br/>"
        + "<b>Instructor Email:  </b> " + e.values[2] + "<br/>"  
        + "<b>Date:  </b> " + e.values[0] + "<br/>"        
        + "<b>Required Content/Skills:  </b> " + e.values[3] + "<br/>"
        + "<b>Skills must be completed by:  </b> " + e.values[4] + "<br/>"
        + "<br/> <br/> "
        + "<b>Student Name: </b>" + e.values[5] + "<br/>"
        + "<br/> "



    var bccList = e.values[6];
  var optAdvancedArgs = {bcc: bccList, noReply: true, htmlBody: msgHtml};
    var msgPlain = msgHtml.replace(/\<br\/\>/gi, '\n').replace(/(<([^>]+)>)/ig, ""); // clear html tags and convert br to new lines for plain mail
  MailApp.sendEmail(email, subject, msgPlain, optAdvancedArgs);

}

1 个答案:

答案 0 :(得分:0)

代码看起来很直接。你需要的改变也很简单。尝试这样的事情....

    function sendFormByEmail(e) {
      var email = "xyxy@yyy.com";
        var subject = "Practice Referral Form";
      var msgHtml = e.values[5] + "," + "<br/> <br/> <br/>"
            + "Your instructor has referred you to practice the content/skills below. =" + "<br/>"
            + "<h1><b>Referral Information:</b></h1>"
            + "<b>Instructor:  </b> " + e.values[1] + "<br/>"
            + "<b>Instructor Email:  </b> " + e.values[2] + "<br/>"  
            + "<b>Date:  </b> " + e.values[0] + "<br/>"        
            + "<b>Required Content/Skills:  </b> " + e.values[3] + "<br/>"
            + "<b>Skills must be completed by:  </b> " + e.values[4] + "<br/>"
            + "<br/> <br/> "
            + "<b>Student Name: </b>" + e.values[5] + "<br/>"
            + "<br/> "



        var bccList = e.values[6];
      var optAdvancedArgs = {bcc: bccList, noReply: true, htmlBody: msgHtml};
        var msgPlain = msgHtml.replace(/\<br\/\>/gi, '\n').replace(/(<([^>]+)>)/ig, ""); // clear html tags and convert br to new lines for plain mail
      MailApp.sendEmail(email, subject, msgPlain, optAdvancedArgs);

/* Write to the second spreadsheet */ 
var NEWSSID = 'ID_OF_THE_SECOND_FORM_SPREADSHEET'; 
// Assuming  e.values[3] is what you're checking
if (e.values[3].toLowerCase() == 'true'){
  var values = ['','','','',''] ; // Fill up with values you want to fill up in the new spreadsheet
  var ss = SpreadsheetApp.openById(NEWSSID);
  var sheet = ss.getSheetByName('SheetName'); //Replace name of the sheet here
  var row = sheet.getLastRow() + 1; 
  sheet.getRange(row, 1, 1, values.length).setValues([values]);
}

    }
相关问题