如果谷歌工作表上的指定列发生更改,则发送电子邮件通知
Sent email notification if a change happens on specified columns on a google sheet
我在Google Drive中有一个电子表格,里面有两张表"生产"answers"发芽"
对于生产工作表,如果对a-F中的列进行了更改,我会收到电子邮件通知。此外,如果工作表中添加或删除了一行。
以下代码在某种程度上起到了作用:
function onEdit( e ){
//To get email notification if any changes to the perticular cells
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("production");
var cell = ss.getActiveCell().getA1Notation();
var row = sheet.getActiveRange().getRow();
var cellvalue = ss.getActiveCell().getValue().toString();
var recipients = "zeeshanrang@gmail.com";
var message = '';
if(cell.indexOf('C')!=-1){
message = sheet.getRange('D'+ sheet.getActiveCell().getRowIndex()).getValue()
}
var subject = 'Update to '+sheet.getName();
var body = sheet.getName() + ' has been updated. Visit ' + ss.getUrl() + ' to view the changes on row: «' + row + '». New comment: «' + cellvalue + '». For message: «' + message + '»';
Logger.log(body);
//MailApp.sendEmail(recipients, subject, body);
};
但它每次编辑都会给我发一封邮件,这不是必须的。要求每小时发送一次邮件(如果有更改)。同样,现在它只检查C列的更改,而不是其他列的更改。
此外,我无法理解if(cell.indexOf('C')!=-1)
。有人能解释一下这句话的意思吗。
TIA
它的意思如下:
if(cell.indexOf('C')!=-1) // means that if you edit column C
....... //the following will happen
}
所以要更详细地解释:
cell.indexOf('C')
->搜索'C'
!=
->不等于
-1
->不存在/未找到
if(cell.indexOf('C')!=-1)
->如果indexOf('C')不等于'-1'(即如果存在'C',则执行'if'语句
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 使用angularjs验证文本框中的电子邮件
- 使用正则表达式评估电子邮件地址时出现性能问题
- javascript中添加验证电子邮件的问题
- 如何在收到电子邮件时自动调用脚本
- 如何在不干扰电子邮件通知的情况下将眼镜保存在文本文件中
- Zendesk app.js示例用于发送外部电子邮件通知或AJAX请求
- Google Apps 脚本为 getLastRow 抛出电子邮件失败通知,我做错了什么
- 如果谷歌工作表上的指定列发生更改,则发送电子邮件通知
- 通知类似于gmail中的新电子邮件
- 联系表格不发送电子邮件,也没有通知
- 客户端脚本电子邮件通知
- 避免使用垃圾邮件文件夹中的重要电子邮件通知
- 浏览器标签更改通知,比如当你收到新的gmail电子邮件或Twitter上的新tweet时
- 如何从通知我字段获得电子邮件
- 提取电子邮件地址,但删除一些通知
- 户外电子邮件通知与附件在不工作
- 在谷歌应用程序脚本中添加评论时阻止电子邮件通知
- 无法通过PHP发送带有jQuery链接的警告消息作为通知的电子邮件
- GMail使用什么API来通知浏览器选项卡收到电子邮件