【发布时间】:2016-02-08 02:14:35
【问题描述】:
所以我有一个代码,它接受一个范围和一个参考单元格,并返回具有与参考相同背景颜色的单元格的数量。这很好用,但我希望它在某些单元格的颜色发生变化时可用。我将它放在基于每分钟时间的触发器上,并尝试使用SpreadsheetApp.flush() 取消缓存当前号码。这没有达到预期的效果。
我还尝试创建第二个使用 flush() 的函数,然后返回第一个函数。这也没有奏效。我知道让它刷新的唯一方法是从单元格的开头获取“=”,然后替换它。有效的代码如下。
function countBGColor(range, ref) {
var sheet = SpreadsheetApp.getActiveSheet();
var color = sheet.getRange(ref).getBackground();
var range = sheet.getRange(range);
var rangeVal = range.getValues();
var count = 0;
var allColors = range.getBackgrounds();
for (var i = 0; i < allColors.length; i++) {
for (var j = 0; j < allColors[0].length; j++) {
if (allColors[i][j] == color) count += 1;
};
};
return count;
}
【问题讨论】:
标签: google-apps-script google-sheets triggers