我的任务是检查电子表格单元格数据,如果它=“警告”(例如)发送邮件通知。
解释:
检查电子表格单元格中的数据,如果它不等于“警告”:
- set status for cell "first"
检查电子表格单元格中的数据,如果它等于“警告”和状态“第一”:
- send email - msgBox - "WARNING first" - set status for cell "second"
下次脚本运行且单元格值 =“警告”时,单元格状态为“秒”:
- just msgBox - "WARNING second"
依此类推,如果值更改为 nonWARNING - 为单元格“first”设置状态
我的剧本
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);
}
}
}
仅当我手动运行脚本或将触发器设置为打开或更改事件时,它的工作才正确。
我的问题:当我从 Google Docs 注销时,如何使用时间驱动触发器执行脚本?
我尝试使用类似的东西,但它不能正常工作
var DATA_SPREADSHEET_ID = "0AprqtrrrraFdGxDdXFlMjM4Z0rFwerrrU9PcFlWMVE";
var value = SpreadsheetApp.openById(DATA_SPREADSHEET_ID).getSheetByName("fdata").getRange( "E2").getCell(1, 1).getValue().toString();