我有一个谷歌表,它有一个基于定时触发器的自动刷新 IMPORTXML 功能,我正在尝试编写一个脚本,当它检索到具有“帮助”消息类型的行时,它将自动通过电子邮件发送通知警报。
我根据我找到的一些示例编译了这个脚本。我已经对其进行了测试,它可以很好地使用带有 onEdit 可安装触发器的手动输入数据,但从我的测试(并基于研究)来看,我需要使用 onChange 触发器来让 IMPORTXML 触发脚本。
但是,当我将脚本设置为 onChange 可安装触发器时,该脚本似乎既不会使用 IMPORTXML 加载数据自动执行,也不会由我在工作表上手动输入。
我是否遇到了 Good Apps Script 的一些限制?这是我第一次使用它(和 JavaScript)
function helpAlertEmail(e)
{
if (e.range.columnStart !== 5 || e.value !== 'HELP' && e.value !== 'HELP-CANCEL') return;
var ss = e.source.getActiveSheet()
var details = ss.getRange(e.range.rowStart, 1, 1,11).getValues()[0];
var headers = ss.getRange(1, 1, 1, 11).getValues()[0];
var subject = "SPOT BEACON ALERT: " + details[2] + " Sent a " + details[4] + " Message at " + details[9];
var body = "SPOT Beacon " + details[2] + " (" + details[1] + ") Sent a " + details[4] + " Message at " + details[9] + "\n\n";
var email = "xxx@xxx.org";
var cols = [0, 4, 5, 6, 9, 10];
for (var i = 0; i < details.length; i++)
{
if (cols.indexOf(i) === -1) continue;
body += headers[i] + ": " + details[i] + "\n"
}
body += "\n\n\n Please do not respond to this email as it is automatically generated by an account that is not checked.";
MailApp.sendEmail(email, subject, body, {noReply:true});
}