电子表格的Google Apps脚本触发器

时间:2014-08-28 06:25:53

标签: google-apps-script google-sheets

我为其中一个类创建了一个电子表格来跟踪标记。课程中有一个排行榜,如果学生在排行榜上排名7天或以上,他们会因为如此壮观而获得奖金。

我有4列。第一个是MARK列。第二个是他们的分数。第三个是DATE,他们获得了高分。第四个是自获得高分后已经过去的AMOUNT_OF_DAYS。如果我输入结果,我会运行一个脚本。它会在DATE列中检查它是否为今日日期的高分和日期戳。 AMOUNT_OF_DAYS列是一个简单的公式,用于计算从获得高分后经过的天数。我想在AMOUNT_OF_DAYS值为7或更大时自动填充MARK列。我尝试了“更改”触发器事件,但我不认为这是它的目的。我不认为onEdit会起作用,因为只有当我手动操作电子表格时才会触发它。有任何想法吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

您的电子表格看起来像这样吗?

enter image description here

您可以在单元格中放置条件公式:

=if(D2>=7,"bonus Time!",0)

如果D2中的单元格大于或等于7,则上述公式输入文本奖励时间!,否则输入零值。

您已经有一个在输入数据时运行的脚本,然后检查它是否为高分。我不明白为什么你不能扩展该脚本也检查AMOUNT_OF_DAYS?

答案 1 :(得分:0)

以下是我为解决这个问题所做的工作:

我在脚本中创建了一个函数,负责检查THE_AMOUNT_OF_DAYS列中的任何值是否大于或等于7.在脚本编辑器的“资源”菜单下,转到“所有触发器”和然后添加一个触发器。指定您要运行的功能。确保它是“时间驱动”事件,而不是“从电子表格”事件。将时间设置为您希望触发脚本函数的时间间隔。

需要注意的一点是,当函数通过触发器触发时,Browser.msgbox()函数似乎不起作用,但是当您手动从脚本编辑器运行该函数时它将起作用。我提到这个的唯一原因是因为我确信我们中的许多人都使用它来调试我们的脚本。

特别感谢@teatimer指出我正确的方向:)