这是怎么回事!目前,我有一个工作代码,如果“提醒日期”是今天或之前,并且未选中“完成”复选框,则允许从谷歌表格发送电子邮件。
目前,我使用一个TEXTJOIN函数来合并用于发送和具有相同收件人的任务。当我运行我的代码时,它不会在项目符号中列出项目,而是在一行中列出。我不知道如何重写“消息”部分,以便它对这些 textjoin'ed 值添加项目符号。
这是当前代码:
function sendEmails() {
var now = new Date().toLocaleDateString();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
var startRow = 2;
var sheet = ss.getSheetByName ('Tasks')
var numRows = sheet.getLastRow()-1;
var dataRange = sheet.getRange(startRow, 1, numRows, sheet.getLastColumn());
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0];
var message = row[2];
var ReminderDate = row[3].toLocaleDateString();
var Status = row[5];
var subject = "Task reminders";
if (ReminderDate > now)
continue;
if (Status != true) {
var Email = {
to: emailAddress,
subject: "Task reminders | "+now,
htmlBody:
"Good day! This is to remind you of the following specific task/s:"+
"<br />"+
"<ul><li>"+message+"</li></ul>"+
"<br /><br />"+
"You can access the Task monitoring sheet by clicking <a href=" + ss.getUrl() + ">here</a>.",
name: "Taks monitoring",
};
MailApp.sendEmail(Email);
sheet.getRange(startRow + i, 5).setValue(now);
SpreadsheetApp.flush();
}
}
}
这是谷歌表:
这是我收到的内容:
但这是我真正想要的:
我尝试用谷歌搜索几个样本,但我不确定我是否做错了,为什么我似乎没有找到任何类似的案例。我希望我能在这里得到指导,但要了解和学习什么才能实现目标。我不确定,但我认为它与代码如何读取有关message,或者我可能TEXTJOIN不再应该 - 只需捕获要发送给同一个人的各个行,并通过代码将它们组合起来(也不知道该怎么做,或者这是否可能)。


