Soy bastante nuevo en esto, por lo que ni siquiera estoy seguro de si esta es la forma más eficiente de hacerlo, pero estoy tratando de ahorrar algo de espacio en mi Google Apps Script usando un valor de celda para definir una Lista de rango .
Aquí está el código que tengo ahora mismo:
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getActiveSheet(); var aItems = s.getRange('F1').getValue(); var aItemList = s.getRangeList([aItems.getValue]); Logger.log(aItemList); }La variable aItems obtiene el valor de la celda F1 en mi hoja, que es 'E2', 'E5' (también intenté eliminar las comillas simples que rodean los números de celda, pero eso no cambió el resultado)
Con aItemList intento crear una lista de rango usando el valor de aItems para definir el rango. Recibo un error de excepción cuando ejecuto el script que indica que no se encuentra el rango.
En última instancia, el propósito de la variable aItemList será tener una variable que almacene una lista de celdas que contengan casillas de verificación que pueda alternar entre Verdadero y Falso. En la hoja real para la que planeo usar esto, habrá cientos de casillas de verificación, por lo que quiero evitar tener que enumerarlas todas en el script como parte de la matriz. Menciono esto porque probé variaciones de este código que registraron con éxito aItemList como la cadena correcta, pero no me permiten establecer el valor de las celdas en verdadero o falso usando aItemList como referencia.
Si alguien pudiera decirme si esto es posible o no, se lo agradecería mucho. Y/o si existe un método aún mejor para realizar esta tarea de almacenar celdas específicas en una variable como una matriz, también sería muy apreciado.
Prueba esto:
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var s = ss.getActiveSheet(); var aItems = s.getRange('F1').getValue().split(','); Logger.log(aItems); let rgl = ss.getRangeList(aItems); Logger.log(rgl.getRanges().map(r => r.getA1Notation())); }