In Google Apps Script, Range.getNextDataCell (...) dovrebbe fallire quando Range è nascosto?

Oct 20 2020

In Google Apps Script Spreadsheet Service -

Dove si tgt_rangetrova un Rangeoggetto, la riga tgt_range.getNextDataCell(SpreadsheetApp.Direction.DOWN)genera una "Eccezione: argomento non valido" se il gruppo nel foglio in cui tgt_rangeè contenuto è compresso. Tuttavia, la linea viene eseguita senza eccezioni se il gruppo è espanso.

Non riesco a trovare alcuna documentazione che indichi che un intervallo deve essere visibile / espanso affinché il .getNextDataCell(...)metodo venga eseguito.

Qualcuno sa se si tratta di un bug o se il comportamento è di progettazione?

Risposte

1 Iamblichus Oct 20 2020 at 16:05

Questo è un bug.

I metodi che utilizzano l'area dati (intervallo espanso nelle quattro direzioni cardinali ) (ad es. GetNextDataCell (direction) , getDataRegion () generano un errore se la cella iniziale (in alto a sinistra) dell'intervallo è nascosta.

L'errore specifico, tuttavia, è diverso a seconda del metodo. Durante i getNextDataCelllanci Invalid argument, getDataRegionlo script viene eseguito per circa 30-40 secondi prima del lancio Service Spreadsheets failed while accessing document with id {SPREADSHEET_ID}.

Come soluzione alternativa, mostra la cella in alto a sinistra dell'intervallo prima di chiamare questo metodo e nascondila di nuovo dopo.

Bug correlati:

  • getNextDataCell genera un argomento non valido quando Range è nascosto
  • getDataRegion non è riuscito quando si trova di fronte a righe o colonne nascoste