我有一个问题,可能是由于我对getRange()函数的工作原理缺乏理解。表格的Google Apps脚本自定义函数 - 范围未找到
我写了两个用于Google表格的小函数,但我无法获取单元格引用以正确输入。下面是代码:
function getCellRGB(input, color) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange(input);
var hex = cell.getBackground();
hex = hex.replace('#','');
if (color == "r") return parseInt(hex.substring(0,2), 16);
else if (color == "g") return parseInt(hex.substring(2,4), 16);
else if (color == "b") return parseInt(hex.substring(4,6), 16);
else return null;
}
这只能如果我输入这样的:
getCellRGB("A1", "r")
,如果我尝试使用正常的单元格引用,如他们在其他功能使用:
getCellRGB(A1, "r")
我得到错误“未找到范围(第6行)”
第二个函数将一个单元格从R,G和在每一个小区d B值:
function setCellColorFromRGB(red,green,blue) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var r = sheet.getRange(red);
var g = sheet.getRange(green);
var b = sheet.getRange(blue);
cell.setBackgroundRGB(r, g, b)
}
我得到同样的错误为这一个,也管线6
我不太确定我是否正确理解你。您提供的行是唯一需要更改以考虑传递值的引用行吗?在这种情况下,我仍然会遇到同样的错误。还是有其他情况下我需要改变什么? – enenra
这应该照顾第一个功能。无论您使用传递的范围值,您都必须对其他函数执行相同的操作。 –
原来你对如何将输入转换为字符串来使用是正确的,问题在于输入不是第一位的单元格引用!我在下面的答案中解释了它。谢谢! – enenra