我希望只是我错过了一些简单的东西,但我真的看不出来为什么这行不起作用:
// GET ALL SHEET NAMES FROM THE SPREADSHEET AND PUT INTO AN ARRAY
function sheetNames() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (var i=0 ; i<sheets.length ; i++) {
out.push( [ checkSheetName(sheets[i].getName()) ] )
}
Logger.log("before : " + out);
var listOfsheets = out.filter(function(x){ return (x !== (undefined || null || '')); });
Logger.log("after : " + listOfsheets);
return listOfsheets ;
}
// SEARCH ALL SHEETS AND ONLY SELECT THEM IF THEY HAVE THE TEXT "REPORT_" IN THE NAME
function checkSheetName(sheetName) {
var checkFor = 'Report_'
if (sheetName.indexOf(checkFor) >= 0) {
return sheetName;
} else {
sheetName = '';
return sheetName;
}
我的日志记录器在经过筛选之前和之后显示的结果完全相同。虽然没有出现错误,但是它貌似没有做任何事情。
我想另一个问题可能是,我能否在初始 getSheets() 中放置一些东西,以便它一开始只获取我需要的内容?但即使这是可能的,我仍然很想知道为什么我的筛选器不起作用。