我正在使用附加到电子表格的 Google Apps 脚本从现有 API 获取数据并使其易于查看(也称为将其放入电子表格中)。
我正在尝试根据单元格的内容(从 API 填充后)为单元格着色。
这是一段代码:
var range = sheetToChange.getRange(5, 3, 40);
for(i = 0; i < 40; i++) {
switch(range[i]) {
case("7 star"): range[i].setBackground('green'); break;
case(""): break;
default: range[i].setBackground('red'); break;
}
}
它应该抓取从5,3到5,43的单元格并开始循环它们以读取它们的内容并设置背景。如果内容是字符串“7 star”,则背景应变为绿色,如果完全为空,则背景应保持空白,但如果是其他内容,则背景应变为红色。
相反,它会退出并出现错误
TypeError: Cannot read properties of undefined (reading 'setBackground')
我在这里做错了什么?
预先感谢您的帮助!
尝试这样:
function myfunk() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("Sheet0");
const rA = [...Array.from(new Array(10).keys(), x => sh.getRange(x + 5, 3))];
for (i = 0; i < 10; i++) {
let expr = rA[i].getDisplayValue();
switch (expr) {
case "7":
rA[i].setBackground('green');
break;
case "2":
break;
default:
rA[i].setBackground('red');
break;
}
}
}
表0: