Google apps script Google脚本采用Google表单';s结果并填写另一张表格?

Google apps script Google脚本采用Google表单';s结果并填写另一张表格?,google-apps-script,google-sheets,google-forms,Google Apps Script,Google Sheets,Google Forms,我不是一名程序员,但在提交时复制并粘贴了其他脚本,以通过电子邮件发送一些表单 function sendFormByEmail(e) { var email = "xyxy@yyy.com"; var subject = "Practice Referral Form"; var msgHtml = e.values[5] + "," + "<br/> <br/> <br/>" + "Your instructor ha

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

    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);
如果谷歌表单上的一个答案是真的,我想把提交的一些结果填写在我创建的另一个谷歌表单上。这可能吗?谢谢

下面是我拼凑的一个代码示例,用于在提交表单时通过电子邮件发送其中一个表单的结果

    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);
函数sendFormByEmail(e){
var电子邮件=”xyxy@yyy.com";
var subject=“实践推荐表”;
var msgHtml=e.values[5]+“,“+”


+“您的讲师已建议您练习以下内容/技能。=”+“
” +“转介信息:” +“讲师:”+e.价值观[1]+“
” +“讲师电子邮件:+e.values[2]+”
” +日期:“+e.values[0]+”
” +“所需内容/技能:”+e.values[3]+“
” +“技能必须由以下人员完成:”+e.values[4]+“
” +“

” +学生姓名:“+e.values[5]+”
” +“
” var bccList=e.values[6]; var optadvancedags={bcc:bccList,noReply:true,htmlBody:msgHtml}; var msgPlain=msgHtml.replace(/\/gi,“\n”).replace(/(]+)>)/ig,”;//清除html标记并将br转换为普通邮件的新行 MailApp.sendmail(电子邮件、主题、msgPlain、optadvancedags);

}

代码看起来非常超前。你需要的改变也很简单。试试这样的

    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]);
}

    }
函数sendFormByEmail(e){
var电子邮件=”xyxy@yyy.com";
var subject=“实践推荐表”;
var msgHtml=e.values[5]+“,“+”


+“您的讲师已建议您练习以下内容/技能。=”+“
” +“转介信息:” +“讲师:”+e.价值观[1]+“
” +“讲师电子邮件:+e.values[2]+”
” +日期:“+e.values[0]+”
” +“所需内容/技能:”+e.values[3]+“
” +“技能必须由以下人员完成:”+e.values[4]+“
” +“

” +学生姓名:“+e.values[5]+”
” +“
” var bccList=e.values[6]; var optadvancedags={bcc:bccList,noReply:true,htmlBody:msgHtml}; var msgPlain=msgHtml.replace(/\/gi,“\n”).replace(/(]+)>)/ig,”;//清除html标记并将br转换为普通邮件的新行 MailApp.sendmail(电子邮件、主题、msgPlain、optadvancedags); /*写入第二个电子表格*/ var NEWSSID='ID_OF_THE_SECOND_FORM_SPREADSHEET'; //假设e.values[3]是您要检查的 if(e.values[3].toLowerCase()=='true'){ var values=['','','',''];//用您要在新电子表格中填充的值填充 var ss=SpreadsheetApp.openById(NEWSSID); var sheet=ss.getSheetByName('SheetName');//在此处替换工作表的名称 var row=sheet.getLastRow()+1; sheet.getRange(行,1,1,values.length).setValues([values]); } }
您可以发布使用其他脚本创建的代码吗?您不能填写第二张谷歌表单,但您可以向其他表单的电子表格中添加一行,这相当于填写表单。您可以创建一个指向预填表单的链接,该预填表单中包含您想要的任何数据,但不可以实际提交。正如@Srik所说,您也可以直接将数据写入电子表格,而不用使用表单。谢谢!这很有效。当一个新行被添加到电子表格中时,是否仍然需要触发第一个脚本?