我想在 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(使用前将#替换为@)