首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google脚本-为Google创建和保存过滤器

Google脚本-为Google创建和保存过滤器
EN

Stack Overflow用户
提问于 2020-09-13 08:25:26
回答 2查看 382关注 0票数 1

我觉得有点傻,但我想不出.

我的工作是每月从一个提供的XML文件中生成一个新的主分析表,该文件与我们(多个)表的各个列组合在一起。到目前为止没有问题。我已经按照我想要的方式工作了。:-)

我的问题是,我们还有大约6-8个过滤器保存在一个特定的表中,这样我们的审计师就可以专注于特定的领域(正如您所理解的,我们的审计师希望这些过滤器能够按照他们指定的那样工作)。

我尝试过使用createFilter(),但似乎没有任何方法将多个过滤器保存到该工作表中(也许我遗漏了什么)。不joy!-(

我已经尝试记录一个宏,然后我可以运行这个宏来创建过滤器。这里也没有joy:-

我是否需要告诉这些讨厌的审计师每个月都要创建自己的过滤器(他们知道如何做,但它在他们的下面),还是有什么方法我可以把他们写下来,让他们离开我的背?

不幸的是(尽管我很想),我不能共享我们的工作表或脚本,因为我们在那里嵌入了大量的IP。

如果可能的话,我非常希望你能对你如何处理这个问题提供一些指导。

亲切的问候

伊恩

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-13 09:27:30

如果您确实是在谈论“创建新的过滤器视图”,我建议您制作一个模板表。因此,不要每个月创建一个新的表格,而要制作一个模板电子表格,并添加您的审计师所希望的所有过滤器视图。然后复制该电子表格,并将新数据粘贴到其中。

票数 1
EN

Stack Overflow用户

发布于 2020-09-14 11:42:19

使用Apps脚本和createFilter()创建过滤器的正确方法如下:

代码语言:javascript
复制
function setFilters() {
  var ss = SpreadsheetApp.getActiveSheet();
  var rangeFilter = ss.getRange("INPUT_YOUR_RANGE_HERE");
  var filter = rangeFilter1.createFilter();
  var filterCriteria = SpreadsheetApp.newFilterCriteria();
  filterCriteria.ADD_YOUR_CRITERIA_HERE;
  filter.setColumnFilterCriteria(columnPosition, filterCriteria.build());
}

如您所见,您必须使用build()来为您创建的筛选器构建条件。

您还可以使用Sheet高级服务并使用Sheets API创建过滤器,类似于以下内容:

代码语言:javascript
复制
  var filterSettings = {
  //YOUR FILTER SETTINGS
  };
  var request = [{
    "setBasicFilter": {
      "filter": filterSettings
    }
  }];

至于调用Sheet服务和应用上面的筛选器,您可以使用以下命令:

代码语言:javascript
复制
Sheets.Spreadsheets.batchUpdate({'requests': request}, SPREADSHEET_ID);

参考文献

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63868668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档