首页 > 解决方案 > Google Apps 脚本 - 自动过滤活动工作表

问题描述

我有以下脚本,旨在自动过滤活动工作表:

    function setFilter() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var filter = {};
      filter.range = {
        sheetId: tab.getActiveSheetId()
      };
    
      filter.criteria = {};
      // Which column to add the filter to
      var columnIndex = 0;
      filter['criteria'][columnIndex] = {
        'hiddenValues': ["✘"]
      };
      var request = {
        "setBasicFilter": {
          "filter": filter
        }
      };
      Sheets.Spreadsheets.batchUpdate({'requests': [request]}, ss.getId());
    }

不幸的是,我收到一个参考错误,提到选项卡未定义 - 我需要更改什么?我试过删除 sheetID

标签: google-apps-scriptgoogle-sheets

解决方案


解释:

  • 使用getActiveSheet获取活动工作表: var tab = ss.getActiveSheet()

  • 然后使用getSheetId获取活动工作表的 id:tab.getSheetId()

解决方案:

 function setFilter() {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var tab = ss.getActiveSheet(); // added code
      var filter = {};
      filter.range = {
        sheetId: tab.getSheetId() // modified code
      };
    
      filter.criteria = {};
      // Which column to add the filter to
      var columnIndex = 0;
      filter['criteria'][columnIndex] = {
        'hiddenValues': ["✘"]
      };
      var request = {
        "setBasicFilter": {
          "filter": filter
        }
      };
      Sheets.Spreadsheets.batchUpdate({'requests': [request]}, ss.getId());
 }

我假设您已经意识到这一点,但为了使代码正常工作,您需要从旧编辑器或新编辑器Google Sheets API的选项卡中启用。ResourcesServices


推荐阅读