Das folgende Beispiel funktioniert gut, wenn Sie manuell die setFilter() Funktion ausführen:Set Sheets Filter mit Apps Script onEdit mit batchupdate
https://docs.google.com/spreadsheets/d/1vSDdXU8XSnfG5ixjaMtDys1ynwpbKTptPb_ZFjuMASg/edit#gid=0
function setFilter() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var filterSettings = {};
// The range of data on which you want to apply the filter.
// optional arguments: startRowIndex, startColumnIndex, endRowIndex, endColumnIndex
filterSettings.range = {
sheetId: ss.getActiveSheet().getSheetId()
};
// Criteria for showing/hiding rows in a filter
// https://developers.google.com/sheets/api/reference/rest/v4/FilterCriteria
filterSettings.criteria = {};
var columnIndex = 2;
filterSettings['criteria'][columnIndex] = {
'hiddenValues': ["England", "France"]
};
var request = {
"setBasicFilter": {
"filter": filterSettings
}
};
Sheets.Spreadsheets.batchUpdate({'requests': [request]}, ss.getId());
}
Aber die Funktion funktioniert nicht innerhalb onEdit()
function onEdit(e){
setFilter();
}
Funktioniert batchUpdate
nicht in onEdit
?
Sie können [Auslöser] (https://developers.google.com/apps-script/guides/triggers/) für die Funktion 'setFilter' erstellen. – Ritz
Zitat aus der Dokumentation: ** Da einfache Trigger automatisch ausgelöst werden, ohne den Benutzer um Autorisierung zu bitten, unterliegen sie mehreren Einschränkungen ** Sie verwenden einen einfachen Trigger. –