我正在尝试编写一个测试脚本,以使Google表格每分钟自动更新其单元格。使此测试脚本正常工作很重要,因此我可以用它来做其他事情。
我有一个Google Apps脚本功能,如下所示:
function custom_function(id){
return new Date().toLocaleTimeString();;
}
基本上,这可以正确返回当前时间,并且不使用id参数。如果我在一个单元格中使用此功能,即=custom_function(B4)
,那么它将正确计算当前时间并将其显示在该单元格中。到目前为止,一切都很好。
但是该单元格不会自行更新。我正在努力做到这一点,以便该单元格的值(即当前时间)每分钟自动更新一次,而无需查看电子表格的人进行任何交互。
我尝试安装触发器,每分钟调用一次以下函数:
function private_function(){
SpreadsheetApp.flush();
}
我的触发器确实每分钟都会调用此函数,但是刷新似乎没有任何作用。我的印象是,刷新会导致重新计算所有单元格条目,从而通过在每个单元格中再次调用custom function
来更新每个单元格的值。它不能满足我的要求。是否有一种简单的方法就可以在不将虚拟的基于时间的参数引入所有函数的情况下做我想做的事情?
答案 0 :(得分:0)
尝试这样的事情
function updateStampInSheet(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var stamp = new Date();
sheet.getRange(1,1).setValue(stamp);
}
您需要配置时间驱动的触发器才能每分钟执行一次