Javascript 使用setInterval或setTimeout获得每x秒重复一次的函数

Javascript 使用setInterval或setTimeout获得每x秒重复一次的函数,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,编辑:嘿,我正在尝试获取一个其他人编写的应用程序,以便在每次编辑电子表格时调用该函数。我一直在浏览谷歌开发者网站,并尝试了许多不同的语法选项,但迄今为止没有一个有效。这是目前的函数(我没有包括我尝试过的任何语法选项,只包括名为“onEdit”的函数本身)。我只想让这个函数计算指定范围内非白色背景的单元格数量,并在编辑电子表格时更新使用此加载项脚本的单元格中显示的计数。顺便问一下,是否有人知道更改单元格的背景色是否算作编辑电子表格?多谢各位 function onEdit(range) { v

编辑:嘿,我正在尝试获取一个其他人编写的应用程序,以便在每次编辑电子表格时调用该函数。我一直在浏览谷歌开发者网站,并尝试了许多不同的语法选项,但迄今为止没有一个有效。这是目前的函数(我没有包括我尝试过的任何语法选项,只包括名为“onEdit”的函数本身)。我只想让这个函数计算指定范围内非白色背景的单元格数量,并在编辑电子表格时更新使用此加载项脚本的单元格中显示的计数。顺便问一下,是否有人知道更改单元格的背景色是否算作编辑电子表格?多谢各位

function onEdit(range) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();



  var r = sheet.getRange(range);
  var i = 0;
  var colors  = r.getBackgroundColors();

  for(c in colors) {

    if(colors[c] != "white") {
      i++;
    }
  }

  return i;


}

SetInverval不是javascript函数。它是一个dom函数,没有dom o服务器端脚本。 阅读诸如onChange之类的触发器。
只有为webapp创建htmlService并从客户端对其进行校准,才能在gas中调用setInterval。但这不是您想要的。

什么工作和不工作?脚本在运行时工作,但在指定范围内具有非白色背景颜色的单元格数量发生变化时,它不会更新我正在使用的单元格中显示的值。在脚本中编辑代码似乎可以使数字刷新,但这似乎只是有时起作用,我希望它能够自动工作。谢谢,谢谢。我以前使用过触发器,但它只是在警报框中显示脚本的结果,而不是更改脚本所在单元格中显示的值。由于许多其他计算都是基于该单元格中的值,因此我需要它显示在该单元格中,而不是显示在警报框中。有什么想法吗?好吧,我一直在摆弄触发器,我编辑了这个问题,以反映我的工作内容。早些时候,我一直在使用脚本编辑器下拉菜单中的触发器,但由于这些触发器不适用于此脚本,我一直在尝试将触发器写入代码中。我现在尝试调用函数onEdit,而不是按设定的时间间隔调用。谢谢。请提出一个不同的问题,因为您现在问的是不同的问题,并且您没有更改代码。我有:我也让这个解决方案起作用了:它比每次我希望更新值时编辑脚本要好,但它仍然不是自动的。