Dans Google Apps Script, Range.getNextDataCell (…) est-il censé échouer lorsque Range est masqué?

Oct 20 2020

Dans le service de feuille de calcul Google Apps Script -

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

1 Iamblichus Oct 20 2020 at 16:05

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