谷歌工作表:找不到范围



我是Google Sheets脚本的新手,我似乎不明白为什么会出现这个错误:找不到范围(第4行,文件"代码")。我从https://developers.google.com/apps-script/guides/sheets/functions#creating_a_custom_function

这是我的代码:

function getBgColor(input) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var range = sheet.getRange(input);
  return range.getBackground();
}

我感谢所有的帮助。

如果您的输入范围只有一个单元格,那么您的代码应该是好的,至少如果您将其作为字符串传入=getBgColor("D1")。然而,如果你想在一个范围内通过,我认为你必须循环到该范围才能获得整个范围的颜色。所以你需要这样的东西(未经测试):

function getBgColor(input) {
var bgs = SpreadsheetApp.getActiveSheet().getRange(input).getBackgrounds(),
colors = [];
for(var i = 0; i < bgs.length; i++){
colors.push(bgs[i]);
}
return colors;
}

这应该会给你一个包含你传递的范围的所有背景色的范围。如果你想在一个单元格中使用这些颜色,请使用:return colors.join(",")。如果你只想返回唯一的颜色,也有一些方法可以做到这一点。。

看看这是否首先有帮助?

最新更新