我创建了一个过滤器,该过滤器使用今天日期的条件按日期列过滤数据范围。
我想调用同一按钮(使用此功能)以过滤和取消过滤范围。
我需要一次按下按钮(调用一个函数)-它会过滤。
我将其按回-取消过滤。
有可能吗?
var sortRange = sheet.getRange(3, 1, 200, 6);
var filter = sortRange.createFilter()
var criteria = SpreadsheetApp.newFilterCriteria().whenDateEqualTo(new Date())
filter.setColumnFilterCriteria(2, criteria.build())
答案 0 :(得分:2)
这已内置-您可以查询Sheet
for the current filter。如果已经设置,则可以轻松删除它。否则,您将收到null
并可以根据需要创建BasicFilter
:
function foo() {
const sheet = SpreadsheetApp.getActiveSheet();
var filter = sheet.getFilter();
if (filter) {
filter.remove();
} else {
/** create your filter */
}
}
答案 1 :(得分:0)
尝试这样的事情:
function toFilterOrNotToFilter() {
var onoff=PropertiesService.getScriptProperties().getProperty('on') || 'off';
PropertiesService.getScriptProperties().setProperty('on',(onoff=='on')?'off':'on');
var sortRange = sheet.getRange(3, 1, 200, 6);
if(onoff=='on') {
//set filter
}else{
//don't set filter
}
}