¿Cómo actualizar una celda en la hoja de cálculo de Google?

8

Tengo una columna en la hoja de cálculo de Google que llama a un servicio web externo usando URLFetch en un Google Script. La celda usa dos parámetros en la fila de esa celda. Después de que se produce un cambio en el que esos dos parámetros devolverán un valor diferente si se envían nuevamente al servicio web, la celda retiene un valor almacenado en caché. Sé que está en caché porque si copio y pego la fila en otra fila, los valores calculados del servicio web cambian a los correctos.

¿Hay alguna forma de forzar una fila o una celda en una hoja de cálculo de Google para volver a calcular su valor, especialmente si está utilizando un servicio web externo en una función personalizada?

capn
fuente
Sé que puedo actualizar todas las celdas editando el script u ordenando los datos, pero estoy buscando algo un poco más ajustado.
capn
¿Has probado F5?
Jacob Jan Tuinstra el
Sí, y ctrl-F5, acaba de comenzar a cerrarse y reabrirse cuando lo necesitaba actualizar, no pensé en eso cuando estaba agregando todos los datos por primera vez. Después de convertirse en un archivo de agregar una línea cada pocos días, no se volvió tan importante.
capn
Ctrl-R recalculará fórmulas ... similares a la F9 de Excel.
Gary W.
Difícil de colocar eso dentro de un guión, que es lo que pide la pregunta.
Chenmunka

Respuestas:

4

Agregue la siguiente línea de código:

SpreadsheetApp.flush()

Ver referencia: rubor

Jacob Jan Tuinstra
fuente
Hasta que haya un comando que elimine una sola celda, columna o fila, supongo que este es el enfoque pesado que tendré que usar. Es mejor llamarlo según sea necesario para mí en una sola celda manualmente cuando quiero que se actualicen todos los datos (F5 y ctrl-F5 no hacen esto, solo abrirlo y cerrarlo lo hará), ya que llamarlo cada vez probablemente causaría algún error bucle y duplicación de trabajo cuando la hoja se abre por primera vez.
capn
5

Vine aquí para buscar una respuesta también para la misma situación (llamar datos desde un recurso externo), pero desde entonces he encontrado un método alternativo que funciona, así que pensé en compartirlo.

Esta no es la manera técnicamente inteligente de hacerlo, pero si elimina la celda, deshaga, se volverá a cargar.

Funciona de maravilla.

LBanh
fuente
1
¿Cómo trabajas eso en un guión?
ale
wow, esto realmente está funcionando! Tenga en cuenta que tiene que esperar unos segundos antes de deshacer, de lo contrario no funcionará
Hibbem