我的任务是检查电子表格单元格数据,如果它=“警告”(例如)发送邮件通知。
说明:
检查电子表格单元格中的数据,如果它不等于“警告”:
- 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注销时,如何使用Time-Driven触发器执行脚本?
我尝试使用类似的东西,但它的工作正确
var DATA_SPREADSHEET_ID = "0AprqtrrrraFdGxDdXFlMjM4Z0rFwerrrU9PcFlWMVE";
var value = SpreadsheetApp.openById(DATA_SPREADSHEET_ID).getSheetByName("fdata").getRange( "E2").getCell(1, 1).getValue().toString();
答案 0 :(得分:1)
在时间驱动的触发器下执行函数时,Browser.msgBox()
函数不可用。尝试从您的功能中删除它们。