Ich bin neu in dieser Programmiersprache. Kann jemand helfen, meine Syntax zu reparieren? Ich versuche, dieses Beispiel zu kombinieren:Korrekte setBasicFilter Bedingung Syntax
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());
}
mit dieser JSON Darstellung:
{
"hiddenValues": [
string
],
"condition": {
object(BooleanCondition)
},
}
diese Art von festgelegten Kriterien (Dies ist, wo ich brauche Hilfe, ich bin mir nicht sicher, was das Objekt sein) soll:
//*original 'hiddenValues': ["England", "France"]
'condition': {object(NOT_BLANK)}
ich habe es nicht gelungen, ein Beispiel im Internet zu finden, die „Bedingung“ nur „hiddenValues“ verwendet ... Jede mögliche Hilfe geschätzt
ich nicht haben Länger erhalten Sie einen Fehler mit dieser Änderung. Allerdings kann ich auch nicht das gewünschte Ergebnis erzielen. Es scheint, jede Methode, die ich versuche, die 2. Registerkarte zu filtern, möchte es die erste tun. ... Auch wenn der 2. der aktive Tab ist. Es wendet den Filter auch auf Spalte C anstelle von Spalte A an (Das dunklere Filtersymbol). Der Filter ist da, aber ohne Bedingungen. –
Das liegt daran, dass 'range'' ss.getActiveSheet() ist. GetSheetId() '. Welches ist normalerweise der 1. Tab. Sie müssen das Blatt erhalten, das Sie tatsächlich wollen. Es gibt viele Möglichkeiten, dies zu tun. [getSheets()] (https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#getSheets()), [getSheetsByName()] (https://developers.google.com/apps-script/reference/tabellarisch/tabellarisch # getSheetByName (String)) etc. 'ss.getSheets() [1] .getSheetId()' erhält den 2. Tab. Spalte A ist in diesem Fall auf Index 0 –
Ich habe gerade festgestellt, dass meine Änderungen nicht im Skript gespeichert wurden. Ich bin mir nicht sicher, ob es daran lag, dass ich das Blatt zur gleichen Zeit auf meinem Telefon und dem Computer geöffnet hatte oder was. Aber nachdem ich alles geschlossen und wieder geöffnet hatte, begannen die Dinge wieder nett zu spielen. –