使用Google Apps脚本删除Google表格中的所有过滤器

johndoe666

我不想恢复多年前发布的旧主题,所以我开始了一个新主题。线程在这里

在那个线程中,我找到了答案。我需要以下脚本来删除工作表中的过滤器:

function clearFilter() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var ssId = ss.getId();
    var sheetId = ss.getActiveSheet().getSheetId();
    var requests = [{
        "clearBasicFilter": {
        "sheetId": sheetId
        }
    }];
    Sheets.Spreadsheets.batchUpdate({'requests': requests}, ssId);
}

问题是,以上代码仅删除了我正在使用的当前活动工作表中的过滤器。我要删除所有工作表中的过滤器。

这是我尝试过的:

function clearFilter() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var ssId = ss.getId();
  var sheetId = ss.getActiveSheet().getSheetId();
  var requests = [{
    "clearBasicFilter": {
      "sheetId": sheetId
    }
  }];


   for(var i = 0; i < ss.length; i++) {

     Sheets.Spreadsheets.batchUpdate({'requests': requests}, ssId); 
   }
}

在这里,我试图添加一个for循环来遍历整个工作簿,但是我的for循环并不完全正确。有人可以帮我吗?

Tanaike

我了解到您想删除电子表格中所有工作表的过滤器。如果我的理解是正确的,那么该修改如何?

修改点:

  • 您可以使用来检索电子表格中的所有工作表getSheets()
  • 需要对每片ID将要导入到sheetId"sheetId": sheetId

修改后的脚本:

function clearFilter() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var ssId = ss.getId();
  var sheetIds = ss.getSheets();
  for (var i in sheetIds) {
    var requests = [{
      "clearBasicFilter": {
        "sheetId": sheetIds[i].getSheetId()
      }
    }];
    Sheets.Spreadsheets.batchUpdate({'requests': requests}, ssId); 
  }
}

注意 :

  • 该脚本假定已经在Advanced Google Services和API控制台上启用了Sheets API。

参考:

如果我误解了您的问题,对不起。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法使用 Apps 脚本检查 Google 表格中的过滤器视图是否隐藏了一行?

如何使用Google Apps脚本应用电子表格过滤器?

使用具有过滤器视图的相对路径时的 Google 表格数据验证警告

Google Apps脚本-为Google表格创建和保存过滤器

使用Google Apps脚本在Gmail中创建本机过滤器

如何使用Apps脚本从Google表格中删除一系列特定表格中所有不受保护的行

Google表格过滤器

使用Google App脚本删除Google Analytics(分析)过滤器(不删除功能错误)

使对象过滤器在Google Apps脚本中正常运行

Google Apps 脚本:如何检查空过滤器/变量?

如何使用gspread python lib从带有过滤器的工作表中获取所有值?

如何在Google表格中删除过滤器框架?

如何使用 Apps 脚本删除 Google 表格中的行?

带有IN子句的Google表格过滤器

如何在Google表格中的“ =过滤器”中添加“或”

使用现有过滤器重绘所有dc.js图表

使用APIv4(Google Apps脚本)过滤Google表格

Google表格中的过滤器功能-多列

如何在Google表格中的宏(Google表格,过滤器,如果是其他脚本)中使用特定条件的特定激活值空列过滤器的if条件?

带有过滤器选项的Google图表MySQL查询百分比

带有过滤器和DataView的Google可视化仪表板

使用新范围更新Google表格“过滤器视图”

使用 Google Apps 脚本根据 Google 表格从 Google 日历中删除事件

使用Google App脚本删除一定数量的过滤器视图

有没有办法让电子邮件跳过收件箱而无需 Google Apps 脚本中的过滤器?

搜索和过滤器-Google表格

使用 Google 表格中的行和列过滤器获取单元格值

使用dplyr从数据框中删除所有遵循过滤器阈值的行

.gitattributes使用带有过滤器的“ * text = auto”