I'm trying to use the below script to update the range on 50+ personal filter views in Sheets. I used the below code which I found here, (very helpful by the way!).
My only issue is this works great if I have each unique filterViewId. Is there a method here to modify this script to apply the updated range on ALL filter views within the sheet titled "MY SHEET"?
function UpdateFilterView() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheetByName('MY SHEET');
var lastRow = dataSheet.getLastRow();
var lastColumn = dataSheet.getLastColumn();
var sheetId = dataSheet.getSheetId();
var filterSettings = {
"filterViewId": "1099738202",
"range":{
"sheetId": sheetId,
"startRowIndex": 0,
"endRowIndex": lastRow,
"startColumnIndex": 0,
"endColumnIndex": lastColumn
}
};
var requests = [{
"updateFilterView":{
"filter": filterSettings,
"fields": "*",
}
}];
Sheets.Spreadsheets.batchUpdate({"requests":requests}, ss.getId());
}