我想弄清楚我的Google Apps脚本出了什么问题。当第2列中的任何单元格不再具有“ - ”而下一个单元格为“否”时,我试图发送电子邮件。显然,sendEmail函数由于某种原因不起作用。为什么sendEmail功能不起作用?
我举了一个小电子表格的例子。我想在第三行匹配时发送电子邮件。
1 2 3
1 00 - Yes
2 00 - No
3 00 x No
这里是我的代码:
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if(s.getName() == "Sheet4") { //checks that we're on the correct sheet
var r = s.getActiveCell();
var nextCell = r.offset(0, 1);
if((r.getColumn() == 2) && (r.getValue() !== '-') && (nextCell.getValue() === 'No')){ //checks the cell
MailApp.sendEmail('[email protected]', 'test email from Google Spreadsheet', 'Let me know if this came through ok');
}
}
}
您的脚本确实有效 - 当您在第2列中编辑一个值以使其不是“-''时,它会发送一封电子邮件。任何其他列中的编辑都不会执行任何操作。你能更清楚你期望脚本做什么吗? – Mogsdad
它适合你吗?当我用我的电子邮件地址替换[email protected]时,我在第2列中编辑了除' - '以外的值,并且不会发送电子邮件。你确定你测试过吗? – Darthvazor
我们一直关注这个脚本的错误部分 - 问题不在于您发送邮件的逻辑;问题在于您正在使用简单触发器无法提供的服务。 (当我测试时,我用日志替换了'MailApp.sendEmail',只是为了测试逻辑是否正常工作。) – Mogsdad