所以我有一个简单的 4 列表,其中包含将由函数添加的行。我想创建一个包含表格的 html 正文,并使用谷歌脚本每周通过电子邮件发送 3 次。我能够将数据从电子表格中取出并放入变量中。问题是我无法将其放入的表中,我知道这可能是一个简单的解决方案,但我对谷歌脚本很陌生。这是我的剧本;
function emailsLeanKitchen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var Sheet = ss.getSheetByName("Sheet1");
var dataTable = Sheet.getRange(1,1,Sheet.getLastRow(),4).getValues();
Logger.log(dataTable);
GmailApp.sendEmail("my email","subject", dataTable);//
}
如果有人知道在计时器上设置此脚本的好方法,那也很酷,因为这是我的下一个目标。我已将链接附加到我的电子表格。我感谢任何帮助!
https://docs.google.com/spreadsheets/d/1X_UcqyXXRMyjZ2j46TymMrIMWvt19HOZTTaEUlIVqwE/edit?usp=sharing
- 您希望根据从活动电子表格中检索的值创建一个 HTML 表格,并希望使用 Google Apps 脚本将其作为 HTML 正文发送。
- 您希望通过时间驱动的触发器运行脚本。
如果我的理解是正确的,那么这个答案呢?请将此视为几种可能的答案之一。
问题 1 的答案:
修改脚本后,它将变为如下。
修改后的脚本:
从:GmailApp.sendEmail("my email","subject", dataTable);//
自:var htmlTable = dataTable.reduce(function(s, e) {
return s += "<tr><th>" + e.join("</th><th>") + "</th></tr>"
}, "<table border="1">") + "</table>";
GmailApp.sendEmail("my email","subject", "sample text body", {htmlBody: htmlTable});
- 在这种情况下,
htmlTable
作为 HTML 正文发送。"sample text body"
作为文本正文发送。在这种情况下,当邮件程序无法读取 HTML 正文时,将显示文本正文。
问题 2 的答案:
您可以使用时间驱动的事件触发器运行函数emailsLeanKitchen()
。您可以在此处了解如何设置触发器。在这种情况下,从您的问题3 times per week
来看,"周计时器"可能适用于"选择基于时间的触发器类型"。关于这一点,请根据您的实际情况进行设置。
引用:
- 发送电子邮件(收件人,主题,正文,选项(
- 手动管理触发器
如果我误解了你的问题,这不是你想要的方向,我很抱歉。