有没有办法通过应用程序脚本在谷歌表单的表上找到现有的过滤器



我有一个带有一些过滤器的谷歌工作表。我需要取消隐藏已筛选的行,然后运行一个脚本,并使用与原来相同的筛选器重新隐藏这些行。

我试过用谷歌搜索,但没有成功。任何帮助都将不胜感激。

提前感谢,新手

您可能需要这样的东西:

function main() {
const sheet = SpreadsheetApp.getActiveSheet();

// get fiters and store them in array
const critera_array = get_and_remove_filters(sheet);
// do stuff
// set filters back from the array
set_filters(sheet, critera_array);  
}
function get_and_remove_filters(sheet) {
const filter = sheet.getFilter();
const criteria1 = filter.getColumnFilterCriteria(1);
const criteria2 = filter.getColumnFilterCriteria(2);
sheet.getFilter().remove();
return [criteria1, criteria2];
}
function set_filters(sheet, criteria) {
sheet.getDataRange().createFilter();
sheet.getFilter().setColumnFilterCriteria(1, criteria[0]);
sheet.getFilter().setColumnFilterCriteria(2, criteria[1]);
}

它将删除并恢复前两列的筛选器。可能有一种方法可以处理所有列。

最新更新