我在告诉这个单元格设置其背景时错过了什么?

问题描述 投票:0回答:1

我正在使用附加到电子表格的 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')

我在这里做错了什么?

预先感谢您的帮助!

google-apps-script google-sheets
1个回答
0
投票

尝试这样:

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:

© www.soinside.com 2019 - 2024. All rights reserved.