我在这个脚本上工作了很长时间,它是 Google App 脚本,它会自动向提供的电子邮件发送电子邮件警报,并且我在每 1 分钟运行一次时触发脚本。
因此,如果单元格总数大于 201,它将向用户发送电子邮件。但问题是它每分钟运行一次脚本就发送电子邮件。
我需要编码方面的帮助,如果电子邮件已经发送过一次,它将不会再次发送,除非单元格值再次小于 201 并返回大于 201,我正在考虑制作一个包含文本“已发送”或“未发送”
如果它说“未发送”让电子邮件代码运行如果总数大于 201 如果它说“已发送”并且总数大于 201 不要让电子邮件代码运行..
我知道我不是很清楚,但在这方面很难获得帮助。这是代码。
如果这可行,我相信很多人都可以使用这个脚本。
function sendEmail(email_address, email_subject, email_message) {
MailApp.sendEmail(email_address, email_subject, email_message);
}
function test_sendEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
var cell = sheet.setActiveCell('A2');
var criterion_cutoff = 201;
var i = 0;
var addr;
var subj;
var msg;
do {
addr = cell.offset(i,0).getValue();
subj = cell.offset(i,1).getValue();
msg = cell.offset(i,2).getValue();
criterion = cell.offset(i,3).getValue();
if(criterion == criterion_cutoff) {
sendEmail(addr,subj,msg);
// Browser.msgBox('Sending email to: ' + addr);
}
i++;
} while( cell.offset(i, 0).getValue().length > 0 )
Browser.msgBox('Done!');
}
所以我想在 do while 之外添加 if else 条件
if(SpreadsheetApp.getActiveSheet().getRange(21,6).getValue() != 'Not Sent') {
do {
//same stuff as above
} while(condition)
}
else
//don't know wht else to do in else condtion so just using googleclock
SpreadsheetApp.getActiveSheet().getRange(2,7).setValue('=GoogleClock()')