2017-03-15 33 views
0

我正在使用Google脚本,然后在Google表格中的某个列发生更改时发送电子邮件。单元格中的信息可以手动输入,也可以使用基于其他单元格中的信息的公式完成。公式更改单元格值时触发脚本

当手动输入信息时,脚本工作正常,但公式运行时没有。我已经读过它并意识到公式计算不算作编辑,那么如何让脚本运行?

它目前已设置为在电子表格中进行编辑时触发。

下面是我的脚本中涉及到列/单元格的部分。

function sendEmail() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSheet(); 
    var row = sheet.getActiveRange().getRow(); 
    var cellvalue = ss.getActiveCell().getValue().toString(); 

    if(sheet.getActiveRange().getColumn() == 12) 

脚本中还包含很多内容,所以我没有将所有内容都复制到这里。提前谢谢了。

+0

是否通过onEdit触发运行你的脚本?如果是这样,是否检查以查看哪个单元格被编辑?如果是,那么您可能需要检查手动更改的单元格并导致公式更改值。你可以在你的文章中包含代码,以便可以查看它吗? –

回答

0

公式更改时没有可以运行的触发器。

尝试弄清楚,条件是你的公式依赖于:

  1. 如果它是另一个细胞,手动输入,然后使用这些细胞来触发它与onEdit
  2. 如果从公式进口数据变化外部来源,使用随机或时间函数,你最好使用onTime trigger
  3. 如果公式使用importrange然后去导入的范围,看到原来的范围,回到步骤1→2 ...
+0

我使用的公式是= IF(AND(G28 <=999,G28> 0),“Approved”,“”)。如果G的值大于1000,则有人手动将注释输入列L.这样做的确允许脚本运行,但显然不是在公式完成单元格时运行。 –

+0

你是对的,只有当你改变G28时,触发器才能运行。公式不会影响触发器。那是我的答案。 –

相关问题