首页 > 解决方案 > 检测列中的任何内容何时更改,谷歌表格

问题描述

基本上我希望在谷歌表格的整个列中进行任何编辑以触发电子邮件。我花了很长时间寻找,但一直无法找到解决这个问题的任何东西。我想在任何时候使用 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 

就像在文档中一样,但是由于它似乎想要直接引用一个单元格,所以我不知道该怎么做。此外,但不是必需的,如果有人知道如何将触发器设置为包括或仅在单元格颜色更改时发生,那将很有帮助。

预先感谢您的任何帮助。

标签: javascriptgoogle-sheets

解决方案


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

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

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


推荐阅读