私の仕事は、スプレッドシートのセルデータをチェックし、それが「警告」(たとえば)の場合はメール通知を送信することです。
説明:
スプレッドシートのセルのデータを確認し、「警告」と同等でない場合:
- set status for cell "first"
スプレッドシート セルのデータを確認し、それが「WARNING」およびステータス「first」に相当する場合:
- send email - msgBox - "WARNING first" - set status for cell "second"
次回のスクリプト実行時、セル値 = "WARNING"、セルステータス "second":
- just msgBox - "WARNING second"
など、値が nonWARNING に変更された場合 - セルのステータスを「最初」に設定します
私のスクリプト
function AlertMe() {
var status = ScriptProperties.getProperty('AlertStatus')+"";
var value = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("fdata").getRange( "E2").getCell(1, 1).getValue().toString();
if (value.match("WARNING" )&&status.match("first")) {
ScriptProperties.setProperty('AlertStatus', 'second');
Browser.msgBox(value+' '+status);
MailApp.sendEmail("mail@gmail.com, mail2@gmail.com", "Alert from my spreadsheet", "Parameter: " + value);
}
else {
if (!value.match("WARNING"))
ScriptProperties.setProperty('AlertStatus', 'first')
else {
if (status.match("second"))
Browser.msgBox(value+' '+status);
}
}
}
スクリプトを手動で実行するか、トリガー On open または On change イベントを設定した場合にのみ、その動作は正しくなります。
私の質問: Google ドキュメントからログオフするときに、タイムドリブン トリガーを使用してスクリプトを実行するにはどうすればよいですか?
私はそのようなものを使用しようとしますが、正しく動作しません
var DATA_SPREADSHEET_ID = "0AprqtrrrraFdGxDdXFlMjM4Z0rFwerrrU9PcFlWMVE";
var value = SpreadsheetApp.openById(DATA_SPREADSHEET_ID).getSheetByName("fdata").getRange( "E2").getCell(1, 1).getValue().toString();