Javascript 重写GoogleSheet重置过滤器脚本使其更短
我有这些代码,它们可以像我需要的那样完美地工作,但是如果可能的话,我需要重写它,使其变得更短,也许可以使用一个循环。这只适用于第5列,如果我有超过10、20或更多的过滤列,并且我不想再次执行“filter.removeColumnFilterCriteria(11)…(n);“感谢您的帮助!我刚接触煤气Javascript 重写GoogleSheet重置过滤器脚本使其更短,javascript,google-apps-script,google-sheets,google-sheets-api,Javascript,Google Apps Script,Google Sheets,Google Sheets Api,我有这些代码,它们可以像我需要的那样完美地工作,但是如果可能的话,我需要重写它,使其变得更短,也许可以使用一个循环。这只适用于第5列,如果我有超过10、20或更多的过滤列,并且我不想再次执行“filter.removeColumnFilterCriteria(11)…(n);“感谢您的帮助!我刚接触煤气 function resetFilter() { var ss = SpreadsheetApp.getActive(); var filter = ss.getActiveShee
function resetFilter() {
var ss = SpreadsheetApp.getActive();
var filter = ss.getActiveSheet().getFilter();
if (filter !== null) {
filter.removeColumnFilterCriteria(1);
filter.removeColumnFilterCriteria(2);
filter.removeColumnFilterCriteria(3);
filter.removeColumnFilterCriteria(4);
filter.removeColumnFilterCriteria(5);
return;
}
}
您可以使用for循环和函数的一个参数来实现这一点,使其成为动态的
function resetFilter(n) {
var ss = SpreadsheetApp.getActive(),
filter = ss.getActiveSheet().getFilter();
if(filter !== null) {
for(var i = 0;i < n; i++) {
filter.removeColumnFilterCriteria(i);
}
}
}
// for example 5
resetFilter(5);
// for example 20
resetFilter(20);
函数重置过滤器(n){
var ss=SpreadsheetApp.getActive(),
filter=ss.getActiveSheet().getFilter();
如果(过滤器!==null){
对于(变量i=0;i
您可以使用for循环和函数的参数来实现这一点,从而使其成为动态的
function resetFilter(n) {
var ss = SpreadsheetApp.getActive(),
filter = ss.getActiveSheet().getFilter();
if(filter !== null) {
for(var i = 0;i < n; i++) {
filter.removeColumnFilterCriteria(i);
}
}
}
// for example 5
resetFilter(5);
// for example 20
resetFilter(20);
函数重置过滤器(n){
var ss=SpreadsheetApp.getActive(),
filter=ss.getActiveSheet().getFilter();
如果(过滤器!==null){
对于(变量i=0;i
最好在函数内部声明n
,或者提供一个默认值,因为函数直接在应用程序脚本中运行(而不是从外部运行)。我收到以下错误消息:“异常:这些列超出范围”可能您正试图删除不存在的列!最好在函数内部声明n
,或者提供一个默认值,因为函数直接在应用程序脚本中运行(而不是从外部运行)。我收到了以下错误消息:“异常:这些列超出范围”可能您正试图删除不存在的列!