正确的OnEdit触发器语法

时间:2014-06-09 22:10:07

标签: javascript google-apps-script google-sheets

我试图获取其他人编写的应用,以便在每次编辑电子表格时调用该函数。我一直在关注谷歌开发者网站https://developers.google.com/apps-script/understanding_triggers,并尝试了许多不同的语法选项,但到目前为止它们都没有。这是函数的原样(我还没有包含我尝试过的任何语法选项,只是函数本身名为' 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;


}

1 个答案:

答案 0 :(得分:0)

onEdit是一个事件处理程序。你不能从它那里归还一些东西。只是在外部初始化i,即到全局范围。

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



      var r = sheet.getRange(range);

      var colors  = r.getBackgroundColors();

      for(c in colors) {

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


    }