Javascript 使用应用程序脚本、谷歌表单和电子表格,使用用户提交的谷歌请假表单发送电子邮件
我正在开发一个简单的休假管理系统,我们使用谷歌表单、谷歌电子表格和应用程序脚本 在谷歌请假表单中,我们在开始时会确认您是请假者还是批准者 目标是:Javascript 使用应用程序脚本、谷歌表单和电子表格,使用用户提交的谷歌请假表单发送电子邮件,javascript,if-statement,google-apps-script,google-sheets,google-forms,Javascript,If Statement,Google Apps Script,Google Sheets,Google Forms,我正在开发一个简单的休假管理系统,我们使用谷歌表单、谷歌电子表格和应用程序脚本 在谷歌请假表单中,我们在开始时会确认您是请假者还是批准者 目标是: 每当请求者提交请假申请表时,都会向批准者发送一封包含详细信息的电子邮件 审批人接收来自请求者的电子邮件以及编辑链接 审批人单击编辑链接后,审批人将重定向到同一表单,审批人必须在表单中选择审批人,并决定是否批准或拒绝请求。填写并提交响应后,审批人会向请求者发送一封关于响应的电子邮件,例如,如果她/他的请求被批准或拒绝 代码如下: var E
- 每当请求者提交请假申请表时,都会向批准者发送一封包含详细信息的电子邮件
- 审批人接收来自请求者的电子邮件以及编辑链接
var EMAIL_TEMPLATE_DOC_URL='电子邮件的第一个模板链接';
var EMAIL_TEMPLATE_DOC_URL2='电子邮件的Secong DOC模板链接';
var EMAIL_SUBJECT='请假';
函数installTrigger(){
ScriptApp.newTrigger('onFormSubmit')
.forSpreadsheet(SpreadsheetApp.getActive())
.onFormSubmit()
.create();
}
函数onFormSubmit(e){
var响应=e.NamedValue;
var状态=“”;
var email='电子邮件地址';
if(e.range.columnStart!=3 | | e.values==“请求者”)
{
MailApp.sendmail({
致:电邮:,
主题:电子邮件主题,
htmlBody:createEmailBody(响应)
});
状态='已发送';
var sheet=SpreadsheetApp.getActiveSheet();
var row=sheet.getActiveRange().getRow();
var列=18;
sheet.getRange(行、列).setValue(状态);
Logger.log('status='+status+';responses='+JSON.stringify(responses));
函数createEmailBody(响应){
var docId=DocumentApp.openByUrl(EMAIL_TEMPLATE_DOC_URL).getId();
var emailBody=docToHtml(docId);
var form=FormApp.openById('formid');
var formResponses=form.getResponses();
对于(var i=0;i
如果(e.range.columnStart!=3 | | e.value==“请求者”){MailApp.sendmail({收件人:电子邮件,主题:电子邮件{u主题,htmlBody:createEmailBody(回复)});
表单提交事件对象中没有参数值
有一个
values
参数,但它是一个数组,所有提交的数据都以元素0中的时间戳开始谢谢@Cooper的回答。我试过了,似乎if-else正在工作。但问题是,我有两个单独的文档模板。我不确定如何将这两个模板分别与if else条件。更改后您当前的代码是什么?当前的问题是什么?不确定如何集成这两个模板