问题描述
我有一张大约有 50 列的工作表,正在尝试将 HTML 格式的非空白字段通过电子邮件发送给用户;但只有非空白字段,这是我的代码,它返回空和非空字段,另外我需要它只通过电子邮件发送最后一次提交的表单,而不是全部:
function onFormSubmit(e) {
var ss = e.source;
var sheet = ss.getActiveSheet();
var range = e.range.getA1Notation();
var column = e.range.getColumn();
var row = e.range.getRow();
var values = e.namedValues;
var htmlBody = '<ul>';
for (Key in values) {
var label = Key;
var data = values[Key];
htmlBody += '<li>' + label + ": " + data + '</li>';
};
htmlBody += '</ul>'
var Submitter = 3;
var Submitteremail = sheet.getRange(row,Submitter).getValue();
MailApp.sendEmail({
to: "Jason@xxxx.com",replyTo: Submitteremail,subject,htmlBody : htmlBody});
Logger.log("checkpoint5");
}
解决方法
这是我在您最初的帮助后附加的代码:
function onFormSubmit(e) {
const sh=e.range.getSheet();
var htmlBody='<ol>';
var Url = "https://docs.google.com/xxx";
var Text = "CMF Form Submission Sheet";
for(key in e.namedValues) {
if(e.namedValues[key][0].length>0) {
htmlBody += '<li>' + key + ": " + e.namedValues[key][0] + '</li>';
}
}
htmlBody += '<p>' + '\n' + '\n' + "<a href=\""+ Url + "\">" + Text + "</a>" +
'\n' + '\n' + '\n' + '<p>' + '</ol>' ;
var Submitteremail = e.values[1];
var Type = e.values[6];
var CMFNumber = e.values[0];
var Sub = "A new CMF has been submitted for a " + Type;
MailApp.sendEmail({to:"Jason.@xxx.com",subject: Sub,replyTo:Submitteremail,htmlBody:htmlBody});
Logger.log(html);
}