タイムリーなトリガに基づいて自動リフレッシュIMPORTXML機能を持つGoogleシートを持っていて、「警告」マークが付いた行を自動的にメールで通知するスクリプトを作成しようとしています。 HELP "メッセージタイプ。onChangeトリガが期待どおりに動作しない
私が見つけたいくつかの例に基づいてこのスクリプトをコンパイルしました。私はそれをテストし、onEditのインストール可能なトリガーで手動で入力したデータでうまく動作しますが、私のテスト(そして研究に基づいて)から、IMPORTXMLにスクリプトをトリガさせるためにonChangeトリガを使用する必要があります。
しかし、スクリプトを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 = "[email protected]";
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});
}