当单元格具有特定值时触发电子邮件

时间:2014-10-24 12:23:32

标签: google-apps-script google-sheets google-drive-api

我是一名篮球教练&我正在创建一个仪表板来监控我的玩家'社交媒体。我正在使用IFTTT.com吸引所有玩家。推文实时发送到电子表格。我试图编写一个代码,如果我的一个玩家使用了一个不合适的单词,它会触发一封给我的那个单元格的电子邮件。我觉得我在正确的轨道上,但我的代码的一些指导非常感谢。

function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()

var cell = ss.getActiveCell().activate();

Logger.log( cell.getA1Notation() );

if (cell.getValue().match("ass")) {
MailApp.sendEmail("example@example.com", "Notice of possible inappropriate tweet", cell;}

}`

这只是一个不恰当的单词的代码,显然,因为我只是在添加100个不合适的单词之前尝试了解编码的基础知识。麻烦的是,如果表单同时发送三条推文,它只会检查最后一条推文,这就是我现在遇到的主要问题。

非常感谢任何指导或帮助!

1 个答案:

答案 0 :(得分:0)

我同意Camerons上面的评论,如果你能描述一下哪些不适合你,这会让我们知道你需要什么帮助。

按照目前的情况,您的代码会为我运行,当我编辑一个包含“屁股”字样的单元格时,它会通过电子邮件发送给我。

然而,一个问题是目前在电子邮件正文中你有变量'cell',它只会返回'range'这个词。

这是一个略微更新的版本,在电子邮件中提供了更有用的符号:

function onEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();//Get the spreadsheet
var sheet = ss.getActiveSheet()//Get the active sheet
var cell = ss.getActiveCell().activate();//Get the active cell. 
var badCell = cell.getA1Notation();//Get the cells A1 notation.
var badCellContent = cell.getValue();//Get the value of that cell. 

  if (badCellContent.match("ass")){
    MailApp.sendEmail("example@example.com", "Notice of possible inappropriate tweet", "The cell: " + badCell + " contains the word: " + badCellContent + ".");
  }
}