并提前感谢您的帮助。
如果单元格等于或大于0,我需要接收电子邮件。我每隔几个小时使用= IMPORTXML填充此单元格。 我需要这个适用于L列中的任何单元格。 在电子邮件中,我需要查看Cell L和同一行的Cell A的内容。
通过挖掘,我设法达到了这个目标。 很明显,这只是所需要的一半。
thisfunction myNotification() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var value = ss.getSheetByName("Sheet1").getRange("L2").getValue();
if( value > 0 ) {
var last = ScriptProperties.getProperty("last");
value = value.toString();
if( value != last ) {
var email = Session.getUser().getEmail();
MailApp.sendEmail(email, 'My Notification',
'new value: '+value+'\n\n'+ss.getUrl ());
ScriptProperties.setProperty("last", value);
}
}
}
答案 0 :(得分:0)
这将遍历Sheet1中包含数据的所有行,如果列L大于0,则发送电子邮件。
它还将更新PropertiesService的较新脚本属性。
var sp = PropertiesService.getScriptProperties();
function myNotification() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var data = ss.getSheetByName("Sheet1").getDataRange().getValues();
var targetCell = 11; // L
function sendMail(row) {
MailApp.sendEmail(
Session.getUser().getEmail(),
'My Notification',
'new value: ' + row[targetCell] + '\nin: ' + row[0] + '\n' + ss.getUrl ());
return row;
};
function updateScriptProperties(row) {
sp.setProperty(row[0], row[targetCell]);
return row;
};
function aChanged(row) {
return sp.getProperty(row[0]) != row[targetCell];
};
function colLGreater0(row) {return row[targetCell] > 0;};
data.filter(colLGreater0)
.filter(aChanged)
.map(sendMail)
.map(updateScriptProperties);
};