需要脚本以在Google表上的多张纸上运行



我们有这个脚本可以清除所有灰色单元。我们将其设置为每天运行。但是,使用此脚本只会清除"顶部气道"表。我一生都无法弄清楚如何在列表中添加额外的床单(不知道如何正确编写代码)或只是将代码应用于文件中的所有表。

   function clearOrange() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('Top Airway');
  var range = sheet.getDataRange();
 var bgColors = range.getBackgrounds();
  for (var i=0; i<bgColors.length; i++) {
    for (var j=0; j<bgColors[i].length; j++) {
      if (bgColors[i][j] === '#efefef') {
        range.getCell(i+1,j+1).clearContent();
      }
    }
  }  
}

基本上,您需要'获取'电子表格对象的所有床单,然后通过返回的床单数组循环。

看看这是否有效

function clearGreyCells() {
var r, bg;
SpreadsheetApp.getActive().getSheets()
    .forEach(function (s) {
        r = s.getDataRange();
        bg = r.getBackgrounds();
        r.setValues(r.getValues()
            .map(function (b, i) {
                return b.map(function (c, j) {
                    return (bg[i][j] == '#efefef') ? null : c;
                })
            }))
        })
}

最新更新