使用Google表格(Google Apps脚本)中的输入换行文字

时间:2015-04-14 10:01:35

标签: google-apps-script

我有一个脚本可以从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}); 

2 个答案:

答案 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>
相关问题