从 appscript 输入 HTML 电子邮件的用户友好方法

User friendly method to input HTML email from appscript

我创建了一个工作表,我的团队(对 Google Apps 脚本和 HTML 的知识为零)填写了客户姓名和客户电子邮件地址,然后单击一个按钮来执行我的脚本。

我制作了一个脚本,我在其中检索这些姓名和电子邮件,并通过 App Script 向他们发送 HTML 格式的电子邮件。

但是,电子邮件正文一直在变化,并且 1) 我没有时间在 Apps scrip 内的 HMTL 页面上不断变化;和 2) 我的团队不知道如何更改它。

我想有一种更简单的方法可以让他们输入他们想要的电子邮件正文,然后我的函数会检索它并在电子邮件中使用它。 一个额外的问题:在我的脚本中,我调用变量以在 html(如客户名称)上使用。

有什么想法吗?

(很抱歉问题很长)

最简单的方法是在 sheet 中允许一个范围或多个范围并使用它,例如

function sendEmail() {
  MailApp.sendEmail({to: 'the emails',
  subject: 'the subject', 
  htmlBody: myText()})
};
function myText(){
  var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('mySheet')
  var plage = sh.getRange('A1:H33'); 
  return (tableHTML(plage))
}
function tableHTML(plage){
  var data=plage.getDisplayValues()
  var taille=plage.getFontSizes()
  var fond=plage.getBackgrounds()
  var couleur=plage.getFontColors()
  var police=plage.getFontFamilies()
  var htmltable = '<table>';
  for (row = 0; row<data.length; row++){
    htmltable += '<tr>';
    for (col = 0 ;col<data[row].length; col++){
      if (data[row][col] === "" || 0) {htmltable += '<td>' + '&nbsp;' + '</td>';} 
      else
        htmltable += '<td style="font-family:' + police[row][col] + '; background-color:' + fond[row][col] + '; color:' + couleur[row][col] + '; font-size:' + taille[row][col] + 'px;">' + data[row][col] + '</td>';
      }
      htmltable += '</tr>';
    }
  htmltable += '</table>';
  return htmltable
}

此解决方案还保留了您在 sheet 中使用的颜色。