我非常想找到一种通过使用Google APP脚本删除给定数量的过滤器视图的方法。目前,我有几张需要删除几十个未命名过滤器视图的工作表。我可以手工完成,但这将花费我几个小时。
经过研究,我发现了一个代码片段,可以删除给定工作表中的所有过滤器视图,但是我想删除一些过滤器视图,而不是全部。
这是我已经找到的代码片段,由TheMaster提供:
function delFilterViews() {
var ssId = SpreadsheetApp.getActive().getId();
Sheets.Spreadsheets.batchUpdate(
{
requests: Sheets.Spreadsheets.get(ssId, {
ranges: 'Sheet1', //Sheet in which filterviews are present
fields: 'sheets/filterViews/filterViewId',
}).sheets[0].filterViews.map(function(e) {
return { deleteFilterView: { filterId: e['filterViewId'] } }; //create a new delete filter view request for each filter view present in sheet1
}),
},
ssId
);
}
我希望脚本起作用的方式是删除名称以“ Filter X”开头的当前工作表的所有过滤器视图X可以是1到100之间的数字
我对正则表达式的cr脚尝试就是这样
(Filter)\s\d*
我目前的编程技能不允许我进一步发展。
有人可以帮我吗?
非常感谢
答案 0 :(得分:3)
global
的过滤器视图。如果我的理解是正确的,那么下面的示例脚本怎么样?
Filter