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

时间:2017-12-13 17:25:35

标签: google-sheets

我们有这个脚本可以清除所有灰色单元格。我们设定它每天运行。然而,通过这个脚本,它只会清除" Top Airway"片。我不能为我的生活弄清楚如何在列表中添加额外的工作表(不知道如何正确编写代码)或只是将代码应用于文件中的所有工作表。

   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();
      }
    }
  }  
}

1 个答案:

答案 0 :(得分:0)

基本上你需要得到&#39;电子表格对象的所有工作表,然后循环返回的工作表数组。

看看是否有效

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;
                })
            }))
        })
}