请原谅我对Google应用程序流程缺乏了解。我最近想出了如何将包含Google表单提交数据的电子邮件发送给我/我自己。我的脚本工作得很好,但是,我遇到了一个问题,脚本发送的消息内容是线性格式的。例如,用户输入两个句子,用一条线将它们分开,我看到的只是一个长线性文本。
如果有人知道如何以用户提交的“原样”形式接收表单提交数据,那将对我有很大帮助。请查看我的代码,看看是否有任何方法可以在Google Scripts中实现这样的功能。
function sendFormByEmail(e) {
var email = "xxxxx@xxxx.com";
var subject1 = "Approval Required Case # ";
var subject2 = " submitted by: ";
var s = SpreadsheetApp.getActiveSheet();
var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];
var message2 = "";
var message1 = "";
var replyemail = "";
for(var i in headers)
message2 += "<u><b>" + headers[i] + "</b></u> : " + e.namedValues[headers[i]].toString() + "<br><br>" + "\n\n";
message1 += "<b><font color ='blue'><big> Hi XXXX, </big></font></b>" + "<br><br>" + "Could you please approve the below? " + "<br><br>";
replyemail = e.namedValues['Username'].toString();
Logger.log(message);
subject=subject1 + e.namedValues['Case Number'].toString() + subject2 + e.namedValues['Username'].toString();
var message = message1 + message2;
MailApp.sendEmail(email, subject,message,{name: "Approval Submission: Review",replyTo: replyemail, cc: "" ,'htmlBody':message,});
}
再次 提前谢谢。
答案 0 :(得分:0)
您可以使用JavaScript替换方法更改<br>
message = message.replace("\n", "<br>");
MailApp.sendEmail(email, subject,message,{name: "Approval Submission: Review",replyTo: replyemail, cc: "" ,'htmlBody':message});
答案 1 :(得分:0)
For:感兴趣的人..
我想出了如何达到原始问题中所述的预期效果。如何...?
非常简单的添加:.replace(new RegExp('\r?\n','g','<br /v>')
在我的内容字符串之后。
查看以下代码
message2 += "<u><b>" + headers[i] + "</b></u> : " + e.namedValues[headers[i]].toString().replace(new RegExp('\r?\n','g'), '<br />')
+ "<br><br>" + "\n\n";
祝所有人好运!