我知道有条件的格式,但是我希望能够用公式指定颜色。我正在设计一些彩色褪色算法,并在电子表格中计算RGB值。我想将我的3 r,g和b值放在列中,并让第四列显示颜色。
不使用公式,应用程序脚本上的 onEdit
可以做到这一点,但不会有效:
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
function rgbToHex(r, g, b) {
return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
}
function onEdit(){
var RGBVals = SpreadsheetApp.getActiveSheet().getDataRange().getValues(),
backSet = [],
currLin;
for( lin in RGBVals ){
currLin = RGBVals[ lin ];
backSet.push([rgbToHex(currLin[0], currLin[1], currLin[2])]);
}
SpreadsheetApp.getActiveSheet().getRange(1, 4, backSet.length).setBackgrounds(backSet);
}
注意:r,g,b在A,B,C列中,从第1行开始。