Google Sheets 脚本 – 输出单元格背景颜色的函数

2024-01-15

我想在 Google 脚本中编写自己的函数,可以在 Google Sheets 中使用它来获取单元格的背景颜色。我们将该函数称为“SETBACKGROUNDCOLOR”。

我希望能够将单元格引用(以 A1 表示法)作为参数传递,例如如果我调用 =GETBACKGROUNDCOLOR(B2),它应该返回单元格 B2 的背景颜色。如果我调用不带参数的函数,我希望它返回调用它的同一单元格的背景颜色,例如在 C3 中调用 =GETBACKGROUNDCOLOR() 应该返回 C3 的背景颜色。

我已经尝试过这个:

function GETBACKGROUNDCOLOR(cell){
  return SpreadsheetApp.getActiveSheet().getRange(cell).getBackground();
}

但是当我调用GETBACKGROUNDCOLOR(A1)时,参数不是A1的单元格引用,而是A1的单元格内容。

我该如何解决这个问题?


防弹脚本如下:

1.粘贴到 Apps 脚本:

function bgHex(cellAddress) {
 var mycell = SpreadsheetApp.getActiveSheet().getRange(cellAddress);
 var bghex = mycell.getBackground();
 return bghex;
}

2.回到工作表中,将其称为=bgHex(CELL("address"; B4)) or =bgHex(CELL("address", B4)),具体取决于您的区域设置。仔细观察并注意差异: 分隔符。波兰等一些国家使用逗号作为小数点分隔符,而我们使用分号来分隔参数。其他人使用点作为分隔符,因此他们可以使用逗号来分隔参数。

通过该函数,您将获得指定单元格背景的十六进制代码。调用任何单元格,没有范围错误,没有不匹配的数据格式。

现在您可以尝试从这些单元格中获取其他内容,例如检查单元格值。这是一个测试表 https://docs.google.com/spreadsheets/d/1rwG3hVm3PDDJ5X0BqueWKwhJqWq6M3zyUYfw_0LxXiw/edit?usp=sharing所以你可以看看它是如何工作的。

您会在那里找到第二个函数,用于提取单元格的值 - 原理是相同的。

function cellValue(cellAddress) {
  var mycell = SpreadsheetApp.getActiveSheet().getRange(cellAddress);
  var value = mycell.getValue();
return value;
}

现在去https://developers.google.com/apps-script/reference/spreadsheet/range https://developers.google.com/apps-script/reference/spreadsheet/range并尝试其他方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Sheets 脚本 – 输出单元格背景颜色的函数 的相关文章

随机推荐