Dans Google Apps Script, Range.getNextDataCell (…) est-il censé échouer lorsque Range est masqué?
Dans le service de feuille de calcul Google Apps Script -
Où tgt_rangeest un Rangeobjet, la ligne tgt_range.getNextDataCell(SpreadsheetApp.Direction.DOWN)génère un "Exception: argument non valide" si le groupe dans la feuille dans lequel tgt_rangeest contenu est réduit. Cependant, la ligne s'exécute sans exception si le groupe est développé.
Je ne trouve aucune documentation indiquant qu'une plage doit être visible / développée pour que la .getNextDataCell(...)méthode s'exécute.
Quelqu'un sait-il s'il s'agit d'un bogue ou si le comportement est intentionnel?
Réponses
C'est un bug.
Les méthodes qui utilisent la région de données (plage étendue dans les quatre directions cardinales ) (par exemple getNextDataCell (direction) , getDataRegion () génèrent une erreur si la cellule de départ (en haut à gauche) de la plage est masquée.
L'erreur spécifique, cependant, est différente selon la méthode. Pendant le getNextDataCelllancement Invalid argument, getDataRegionle script s'exécute pendant environ 30 à 40 secondes avant le lancement Service Spreadsheets failed while accessing document with id {SPREADSHEET_ID}.
Pour contourner ce problème, affichez la cellule en haut à gauche de la plage avant d'appeler cette méthode et masquez-la à nouveau après cela.
Bogues liés:
- getNextDataCell jette un argument non valide lorsque Range est masqué
- getDataRegion a échoué lorsqu'il fait face à des lignes ou des colonnes masquées