我有一个脚本可以从Google表格中的单元格内容生成自动发送的电子邮件。是否可以限制电子邮件中单元格输出的宽度,强制文本换行?我尝试过使用textarea标签,如下所示:
+ <textarea rows="4" cols="20">
+ sheet.getRange(6,9,1,1).getValue()
+ </textarea>
然而,这只是输出为&#34; + sheet.getRange(6,9,1,1).getValue()+&#34; (即它不会产生细胞内容)。
这可能吗?
以下是我构建脚本的方法:
function EmailFormConfirmation() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
Utilities.sleep(60000);
var sheet = ss.getSheetByName("Form responses");
var lock = LockService.getPublicLock();
lock.waitLock(60000);
lock.releaseLock();
var email = sheet.getRange(2,9,1,1).getValue();
var message = "<HTML><BODY>"
+ "<P >Hi "
+ sheet.getRange(4,9,1,1).getValue()
+ ","
etc.
编辑下面生成单元格内容,但不包装文本。
var htmlMsg = "<HTML><BODY>"
+ "<textarea rows='4' cols='10'>"
+ sheet.getRange(6,9,1,1).getValue()
+ "</textarea>"
+ "</HTML></BODY>";
MailApp.sendEmail(email, "LMI Request", "", {htmlBody: htmlMsg});
答案 0 :(得分:0)
要回答问题re:textbox,请按照您的要求执行以下操作
var htmlMsg = "<HTML><BODY>"
+ "<textarea rows='4' cols='20'>"
+ sheet.getRange(6,9,1,1).getValue()
+ "</textarea>"
+ "</BODY></HTML>";
GmailApp.sendEmail("m....l@gmail.com", "subject","hi" , {htmlBody: htmlMsg});
注意如何使用单引号和双引号。
答案 1 :(得分:0)
以下是如何使用模板构建电子邮件回复的示例。文档可以在这里找到: https://developers.google.com/apps-script/guides/html/templates
在code.gs
中function myFunction(){
var sheet = SpreadsheetApp .....
var value = sheet.getRange(6,9,1,1).getValue();
var emailHtml = buildTemplate(value);
GmailApp.sendEmail("person@example.com", "subject","Hello", {htmlBody: emailHtml});
}
function buildTemplate(values){
var template = HtmlService.createTemplateFromFile('emailTemplate');
template.tmpValues = values;
return template.evaluate().getContent();
}
在emailTemplate.html
中<html>
<body>
<textarea rows='4' cols='20'>
<?=tmpValues?>
</textarea>
</body>
</html>