我有一个带有一些过滤器的谷歌工作表。我需要取消隐藏已筛选的行,然后运行一个脚本,并使用与原来相同的筛选器重新隐藏这些行。
我试过用谷歌搜索,但没有成功。任何帮助都将不胜感激。
提前感谢,新手
您可能需要这样的东西:
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]);
}
它将删除并恢复前两列的筛选器。可能有一种方法可以处理所有列。