1

因此,我有一个人员列表以及根据其他页面的内容自动更新的分数。我编写了一个脚本来自动更改最高值绿色的背景颜色。不幸的是,这似乎在手动激活时生效。

我的问题是:有没有办法让函数在不直接在单元格中时自动刷新或运行?

对于可能提出的问题,我深表歉意 - 让我尝试澄清一下:

我有下面的代码

    function HighestScore(){

  var range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName("Total_Points");
  var data = range.getValues();
  var high = 0;
  var loc = 0;

  //set all backgrounds to white
  range.setBackgroundColor("#FFFFFF"); 

  for (var i = 0; i<7;i++){
    if (data[i] > high){
      high = data[i];
      loc = i
    }
    else{
      high = high;
    }
  }

//set the background color of the highest value green
      var lead = SpreadsheetApp.getActiveSpreadsheet().getRange("Totals!B"+(2+loc)).setBackgroundRGB(00,255,0)
    }

从脚本窗口手动运行时,效果很好。从单元格运行时,我收到权限错误。有什么办法可以让我更新文档上的分数时,这个函数会自动更新最高分数的背景颜色?

4

1 回答 1

1

onEdit:使用 onEdit 触发器,请参阅:https ://developers.google.com/apps-script/understanding_triggers 然后每次用户更改电子表格时代码都应该运行。

于 2013-03-13T23:32:10.697 回答