Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 使用脚本在电子邮件中嵌入谷歌表单,就像使用“在电子邮件中包含表单”选项时谷歌所做的那样_Google Apps Script_Google Forms - Fatal编程技术网

Google apps script 使用脚本在电子邮件中嵌入谷歌表单,就像使用“在电子邮件中包含表单”选项时谷歌所做的那样

Google apps script 使用脚本在电子邮件中嵌入谷歌表单,就像使用“在电子邮件中包含表单”选项时谷歌所做的那样,google-apps-script,google-forms,Google Apps Script,Google Forms,我必须向一些人发送一份表格,我用谷歌脚本来完成。 我尝试在电子邮件中嵌入表单,代码如下: 但是,当表单直接从谷歌表单界面发送时,它不会像谷歌那样发送表单 通过脚本发送的电子邮件; 目标(通过谷歌表单直接发送的电子邮件): 这个问题已经被问过了,但没有回答 最后,目标是每天更改表单,因此不可能在以前发送的电子邮件中使用模板 提前感谢您的帮助。当谷歌直接将表单发送给用户,并将表单嵌入到他们正在使用的新产品AMP的电子邮件中时。您可以在此处阅读更多信息: 您正在使用的代码获取表单的原始H

我必须向一些人发送一份表格,我用谷歌脚本来完成。 我尝试在电子邮件中嵌入表单,代码如下:

但是,当表单直接从谷歌表单界面发送时,它不会像谷歌那样发送表单

通过脚本发送的电子邮件;

目标(通过谷歌表单直接发送的电子邮件):

这个问题已经被问过了,但没有回答

最后,目标是每天更改表单,因此不可能在以前发送的电子邮件中使用模板


提前感谢您的帮助。

当谷歌直接将表单发送给用户,并将表单嵌入到他们正在使用的新产品AMP的电子邮件中时。您可以在此处阅读更多信息:

您正在使用的代码获取表单的原始HTML,就像在浏览器中为用户呈现一样。此代码不是AMP格式。因此,它不会做你想做的事

如果你想获得AMP体验,你需要自己创建AMP电子邮件

我不认为有一个程序化的方式来发送表单给人们,就像你可以从


我希望这能有所帮助。

我正在向用户发送预先填写的谷歌表格(部分填写,由他填写)

它不会在电子邮件正文中发送表单。但是,它有一个链接,用户必须单击该链接才能填写表单(某些字段)。某些字段已由我(电子邮件的发件人)填写

这很直截了当

创建表单

填写要预先填写的表单值。单击“获取预填充链接”

复制创建的url

使用URL并填写google工作表中的值

随信附上我使用的代码

//
//
function appraisal_mail_to_all(){
  //https://docs.google.com/forms/d/e/..../viewform?usp=pp_url&entry.1559436995=name&entry.226490833=Satisfactory&entry.1002429742=comment1&entry.1373188131=Poor&entry.2023543437=comment2&entry.332797694=Indifferent&entry.928578055=comment3&entry.1637933262=Poor&entry.1733301737=comment4&entry.1465918066=job_descrip&entry.31857466=1234&entry.370551729=dept&entry.835006919=qualification&entry.914497805=joined&entry.976738938=hod
  var ss = SpreadsheetApp.getActiveSpreadsheet();  
  var activesheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
  if (activesheet!=="Emp") {Browser.msgBox('Pl. click this option from "Emp" sheet');return;};   
  var response = Browser.msgBox('Mail Will go to all HOD.', "Are you sure ?" , Browser.Buttons.YES_NO);
  if (response == "yes") {} else {return};
  var empsht = ss.getSheetByName("Emp");  
  var emplr=empsht.getLastRow();
  var empdvals = empsht.getRange("A2:W"+emplr).getValues();//all
  var empcvals=ArrayLib.filterByText(empdvals, 18, "Yes");//active
  var empavals=ArrayLib.filterByText(empcvals, 21, "TRUE" );//appraised
  var hods = ArrayLib.unique(empavals, 16);//uniq
  var joined="";
  //var appss=SpreadsheetApp.openById("....");//appraisal
  //var appsht=appss.getSheetByName("Form Responses 1")  
  //var appvals = appsht.getDataRange().getValues();
  for (k=0;k<hods.length;k++){ 
      var link1="",link2="",link3="",link4="";
      var message = "Dear "+hods[k]+",<br><br>Pl. click the link to fill the performance appraisal of the people reporting to you (if pending). Pl. submit it only once per employee within two days. Once submitted, it can not be changed. Next year increment, promotion etc will be based on the appraisal. Your kind co-operation is requested.<br><br>";
      message += "<table cellspacing='2' cellpadding='2' dir='ltr' border='1' style='font-size:10pt;font-family:arial,sans,sans-serif;border-collapse:collapse;border:1px solid #ccc;font-weight:normal;color:black;background-color:white;text-align:center;text-decoration:none;font-style:normal'"
      +"<tr>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>"+" Emp No "+"</td>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>"+" Name "+"</td>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>"+" Desig "+"</td>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>"+" Dept "+"</td>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>Link (Submit once only)"+"</b>"+"</td>"
      +"</tr>"
      +"<tr>"
      var emps=ArrayLib.filterByText(empavals, 16, hods[k]);
      var hod=ArrayLib.filterByText(empdvals,1, hods[k]);
      //Browser.msgBox(hod);
      //if (hod.length > 1) {Browser.msgBox(hod[0][1] + " is appearing more than once in emp master. Pl. correct it");return};
      for (m=0;m<emps.length; m++){
        //if (emps[m][21]==true && emps[m][18]=="Yes") {//to be appraised and active
        if (emps[m][22]=="") {//appraisal not done
          //if ( ArrayLib.find(appvals, 12, emps[m][0]) == 0 ) { //emp no not found in appraisal data
          //if (appdone.length == 0) {//appraisal not done
          //if (emps[m][15]=="") {joined=""} else { joined=Utilities.formatDate( emps[m][15],"GMT+05:30", "dd-MM-YY")} ;
          link4= 'https://docs.google.com/forms/d/e/..../viewform?usp=pp_url&entry.1559436995='+emps[m][1] +'&entry.31857466='+emps[m][0]+'&entry.370551729='+emps[m][11] + '&entry.914497805='+ joined +'&entry.976738938='+emps[m][16] ; 
          link3 = link4.replace(/#/g, "");
          link2 = link3.replace(/,/g, "");
          link1 = link2.replace(/ /g, "%20");
          message += "<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][0]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][1]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][3]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][11]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'><a href='" +link1+ "'>click to evaluate</a></td>"
          +"</tr>"
          +"<tr>"
          } else { //if appraisal done
          //if (emps[m][15]=="") {joined=""} else { joined=Utilities.formatDate( emps[m][15],"GMT+05:30", "dd-MM-YY")} ;
          message += "<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][0]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][1]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][3]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][11]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>Appraisal Completed</td>"
          +"</tr>"
          +"<tr>"
        }//if appraisal done
      //}//if to be appraised AND ACTIVE
      }//for each emp under the hod
      message+="</tr>"+  "</tr>"+ "</table>"+'<br>.<br><br>';
      var subject1="Performance Evaluation of people under you (Confidential)";
      if  (hod[0][7]=="") { var hodm="..."} else {var hodm=hod[0][7]};
      //var hodm="";
      MailApp.sendEmail({        to: hodm,        subject: subject1,        htmlBody: message      });
      //Browser.msgBox(hodm+subject1+message)
  }//for each hod
}
//




//
//
功能评估\u邮件\u发送给\u所有人(){
//https://docs.google.com/forms/d/e/..../viewform?usp=pp_url&entry.1559436995=name&entry.226490833=Satisfactory&entry.1002429742=comment1&entry.1373188131=Poor&entry.2023543437=comment2&entry.332797694=Indifferent&entry.928578055=comment3&entry.1637933262=Poor&entry.1733301737=comment4&entry.1465918066=job_descrip&entry.31857466=1234&entry.370551729=部门和入职。835006919=资格和入职。914497805=加入和入职。976738938=hod
var ss=SpreadsheetApp.getActiveSpreadsheet();
var activesheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
如果(activesheet!==“Emp”){Browser.msgBox('Pl.从“Emp”工作表中单击此选项”);返回;};
var response=Browser.msgBox('邮件将转到所有HOD',“确定吗?”,Browser.Buttons.YES\u NO);
if(response==“yes”){}else{return};
var empsht=ss.getSheetByName(“Emp”);
var emplr=empsht.getLastRow();
var empdvals=empsht.getRange(“A2:W”+empr.getValues();//所有
var empcvals=ArrayLib.filterByText(empdvals,18,“是”);//活动
var empavals=ArrayLib.filterByText(empcvals,21,“TRUE”);//
var hods=ArrayLib.unique(empavals,16);//uniq
var=”;
//var appss=SpreadsheetApp.openById(“..”);//评估
//var appsht=appss.getSheetByName(“表单响应1”)
//var appvals=appsht.getDataRange().getValues();
对于(k=0;k1){Browser.msgBox(hod[0][1]+”在emp master.Pl中多次出现。请更正它”);return};

对于(m=0;m)您是否已将表单发送到多个电子邮件和计算机,并确认格式始终不正确?我尝试在Gmail中直接使用chrome和firefox阅读邮件,并尝试在outlook中打开它,但结果总是一样的。
//
//
function appraisal_mail_to_all(){
  //https://docs.google.com/forms/d/e/..../viewform?usp=pp_url&entry.1559436995=name&entry.226490833=Satisfactory&entry.1002429742=comment1&entry.1373188131=Poor&entry.2023543437=comment2&entry.332797694=Indifferent&entry.928578055=comment3&entry.1637933262=Poor&entry.1733301737=comment4&entry.1465918066=job_descrip&entry.31857466=1234&entry.370551729=dept&entry.835006919=qualification&entry.914497805=joined&entry.976738938=hod
  var ss = SpreadsheetApp.getActiveSpreadsheet();  
  var activesheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
  if (activesheet!=="Emp") {Browser.msgBox('Pl. click this option from "Emp" sheet');return;};   
  var response = Browser.msgBox('Mail Will go to all HOD.', "Are you sure ?" , Browser.Buttons.YES_NO);
  if (response == "yes") {} else {return};
  var empsht = ss.getSheetByName("Emp");  
  var emplr=empsht.getLastRow();
  var empdvals = empsht.getRange("A2:W"+emplr).getValues();//all
  var empcvals=ArrayLib.filterByText(empdvals, 18, "Yes");//active
  var empavals=ArrayLib.filterByText(empcvals, 21, "TRUE" );//appraised
  var hods = ArrayLib.unique(empavals, 16);//uniq
  var joined="";
  //var appss=SpreadsheetApp.openById("....");//appraisal
  //var appsht=appss.getSheetByName("Form Responses 1")  
  //var appvals = appsht.getDataRange().getValues();
  for (k=0;k<hods.length;k++){ 
      var link1="",link2="",link3="",link4="";
      var message = "Dear "+hods[k]+",<br><br>Pl. click the link to fill the performance appraisal of the people reporting to you (if pending). Pl. submit it only once per employee within two days. Once submitted, it can not be changed. Next year increment, promotion etc will be based on the appraisal. Your kind co-operation is requested.<br><br>";
      message += "<table cellspacing='2' cellpadding='2' dir='ltr' border='1' style='font-size:10pt;font-family:arial,sans,sans-serif;border-collapse:collapse;border:1px solid #ccc;font-weight:normal;color:black;background-color:white;text-align:center;text-decoration:none;font-style:normal'"
      +"<tr>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>"+" Emp No "+"</td>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>"+" Name "+"</td>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>"+" Desig "+"</td>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>"+" Dept "+"</td>"
      +"<td bgcolor = '#ffffff', Align = 'center'>"+"<b>Link (Submit once only)"+"</b>"+"</td>"
      +"</tr>"
      +"<tr>"
      var emps=ArrayLib.filterByText(empavals, 16, hods[k]);
      var hod=ArrayLib.filterByText(empdvals,1, hods[k]);
      //Browser.msgBox(hod);
      //if (hod.length > 1) {Browser.msgBox(hod[0][1] + " is appearing more than once in emp master. Pl. correct it");return};
      for (m=0;m<emps.length; m++){
        //if (emps[m][21]==true && emps[m][18]=="Yes") {//to be appraised and active
        if (emps[m][22]=="") {//appraisal not done
          //if ( ArrayLib.find(appvals, 12, emps[m][0]) == 0 ) { //emp no not found in appraisal data
          //if (appdone.length == 0) {//appraisal not done
          //if (emps[m][15]=="") {joined=""} else { joined=Utilities.formatDate( emps[m][15],"GMT+05:30", "dd-MM-YY")} ;
          link4= 'https://docs.google.com/forms/d/e/..../viewform?usp=pp_url&entry.1559436995='+emps[m][1] +'&entry.31857466='+emps[m][0]+'&entry.370551729='+emps[m][11] + '&entry.914497805='+ joined +'&entry.976738938='+emps[m][16] ; 
          link3 = link4.replace(/#/g, "");
          link2 = link3.replace(/,/g, "");
          link1 = link2.replace(/ /g, "%20");
          message += "<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][0]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][1]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][3]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][11]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'><a href='" +link1+ "'>click to evaluate</a></td>"
          +"</tr>"
          +"<tr>"
          } else { //if appraisal done
          //if (emps[m][15]=="") {joined=""} else { joined=Utilities.formatDate( emps[m][15],"GMT+05:30", "dd-MM-YY")} ;
          message += "<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][0]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][1]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][3]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>"+emps[m][11]+"</td>"
          +"<td bgcolor = '#ffffff', Align = 'center'>Appraisal Completed</td>"
          +"</tr>"
          +"<tr>"
        }//if appraisal done
      //}//if to be appraised AND ACTIVE
      }//for each emp under the hod
      message+="</tr>"+  "</tr>"+ "</table>"+'<br>.<br><br>';
      var subject1="Performance Evaluation of people under you (Confidential)";
      if  (hod[0][7]=="") { var hodm="..."} else {var hodm=hod[0][7]};
      //var hodm="";
      MailApp.sendEmail({        to: hodm,        subject: subject1,        htmlBody: message      });
      //Browser.msgBox(hodm+subject1+message)
  }//for each hod
}
//