检测列中的任何内容何时更改,Google工作表

时间:2018-05-10 19:26:52

标签: javascript google-sheets

基本上我希望在Google工作表的整个列中进行任何编辑以触发电子邮件。我花了很长时间看,但一直无法找到解决这个问题的任何东西。我希望在使用OnEdit触发器更改整个列中的值时自动发送表单。我让它适用于特定单元格更改时,但似乎无法获取列中的任何值。目前我有这个:

function autoEmailTest(e) {
 var ss = SpreadsheetApp.getActive();
 var sheet = ss.getSheetByName("Project Status");

var valueToCheck = sheet.getRange("B2").getValue(); // "B2"
var rangeEdit = e.range.getA1Notation();

if (rangeEdit == "B2")    // stops changes from every cell triggering emails
   MailApp.sendEmail("xyz@email.com", "ACTION REQUIRED", "link here");  

}

我尝试过使用

'Project Status'!B:B 

documentation一样,但由于它似乎想直接引用一个单元格,我不知道该怎么做。 另外,但不是必需的,如果有人知道如何将触发器设置为包含或仅在更改单元格颜色时发生,这将是有帮助的。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。我没有意识到你可以索引A1表示法。将其更改为:

 if (rangeEdit[0] == "B") {
   do stuff 
}

检查列中的所有内容" B"并阻止任何单元格更改中的垃圾邮件。