Google Apps脚本-按标签颜色获取工作表

时间:2019-02-22 19:28:59

标签: javascript google-apps-script google-sheets

我很好奇是否可以通过Google Script中的标签页颜色来获取工作表吗?

我目前使用此数组按名称抓取图纸:

var data = _httpContextData.GetValueOrDefault(Thread.CurrentThread);

时间表一直在被创建和删除,并且每次发生时我都必须更新此数组。但是,所有的时间表标签都是橙色的(#ff9900),所以我想知道是否可以用该颜色来拖动标签,无论名称是什么,从长远来看,无论营业额和收入如何,都可以使电子表格更具动态性。工作表名称。

谢谢您的帮助!

2 个答案:

答案 0 :(得分:0)

尝试这样的事情

function addRow() {
SpreadsheetApp.openById('xxxxxxxxxxxxxxxyPz4').getSheets()
    .filter(function (sh) {
        return sh.getTabColor() == '#ff9900'; //change to match color
    }).forEach(function (sh) {
        sh.insertRowAfter(sh.getLastRow());
    })
}

答案 1 :(得分:0)

可以使用现有方法轻松完成此操作:

function getSheetsWithTabColor_(colorHex, allSheets) {
  if (!allSheets || !allSheets.length)
    allSheets = SpreadsheetApp.getActive().getSheets();
  return allSheets.filter(function (sheet) { return sheet.getTabColor() === colorHex; });
}

function foo() {
  const sheets = SpreadsheetApp.getActive().getSheets();
  const timesheets = getSheetsWithTabColor_("some color hex", sheets);
  timesheets.forEach(function (sheet) {
    /** do your stuff that should be done on sheets with this color tab */
  });
}

参考