[英]Send Email When New Rows Are Added (Google App Script & Google Sheets)
我有一个包含 4 列的谷歌表; 标题,url,发布日期和 email 已发送(按该顺序)。
当新行添加到工作表时,我想执行一个谷歌脚本,该脚本将查看“已发送电子邮件”列以查看是否已发送 email,如果未发送,则发送包含新行的 email 并更新相关行) 是的。
我当前的代码只得到第一行,没有别的。
提前致谢,
标记
(请参阅下面我当前的代码)
function sendemail() {
//setup function
var ActiveSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var StartRow = 2;
var RowRange = ActiveSheet.getLastRow() - StartRow + 1;
var WholeRange = ActiveSheet.getRange(StartRow,1,RowRange,4);
var AllValues = WholeRange.getValues();
//iterate loop
for (i in AllValues) {
//set current row
var CurrentRow = AllValues[i];
//set subject line
var Subject = "New Content on IG.com";
//set HTML template for information
var message =
"<p><b>Title: </b>" + CurrentRow[1] + "</p>" +
"<p><b>Article: </b>" + CurrentRow[2] + "</p>" +
"<p><b>Published Date: </b>" + CurrentRow[3] + "</p>";
//define column to check if sent
var EmailSent = CurrentRow[4];
//define who to send grants to
var SendTo = "TEST@gmail.com";
//if row has not been sent, then...
if (EmailSent != "Yes") {
//set the row to look at
var setRow = parseInt(i) + StartRow;
//mark row as "sent"
ActiveSheet.getRange(setRow, 4).setValue("Yes");
//send the actual email
MailApp.sendEmail({
to: SendTo,
cc: "",
subject: Subject,
htmlBody: message,
});
}
}
}
尝试这个:
function sendemail() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getActiveSheet();
const sr = 2;
const rg = sh.getRange(sr, 1, sh.getLastRow() - sr + 1, 4);
const vs = rg.getValues();
vs.forEach((r, i) => {
let Subject = "New Content on IG.com";
let message =
"<p><b>Title: </b>" + r[0] + "</p>" +
"<p><b>Article: </b>" + r[1] + "</p>" +
"<p><b>Published Date: </b>" + r[2] + "</p>";
let EmailSent = r[3];
let SendTo = "TEST@gmail.com";
if (EmailSent != "Yes") {
sh.getRange(i + sr, 4).setValue("Yes");
MailApp.sendEmail({to: SendTo,cc: "",subject: Subject,htmlBody: message});
}
})
}
测试:
一种 | 乙 | C | 丁 | |
---|---|---|---|---|
1个 | 标题 | url | 日期 | 发送 |
2个 | t1 | u1 | d1 | 是的 |
3个 | t1 | u2 | d2 | 是的 |
4个 | t1 | u3 | d3 | 是的 |
5个 | t1 | u4 | d4 | 是的 |
6个 | t1 | u5 | d5 | 是的 |
7 | t1 | u6 | d6 | 是的 |
8个 | t1 | u7 | d7 | 是的 |
9 | t1 | u8 | d8 | 是的 |
10 | t1 | u9 | d9 | 是的 |
然后全部变为是
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.