Como atualizar uma célula na planilha do Google?

8

Eu tenho uma coluna na planilha do Google que chama um serviço da web externo usando URLFetch em um script do Google. A célula usa dois parâmetros na linha da célula. Após uma alteração, em que esses dois parâmetros retornarão um valor diferente se forem enviados ao serviço da web novamente, a célula reterá um valor em cache. Sei que ele é armazenado em cache porque, se eu copiar e colar a linha em outra linha, os valores calculados do serviço da Web mudam para os corretos.

Existe uma maneira de forçar uma linha ou célula em uma planilha do Google a recalcular seu valor, especialmente se estiver usando um serviço da web externo em uma função personalizada?

capn
fonte
Eu sei que posso atualizar todas as células editando o script ou classificando os dados, mas estou procurando algo um pouco mais refinado.
capn 24/07/12
Já experimentou o F5?
Jacob Jan Tuinstra
Sim, e ctrl-F5, apenas começou a fechar e reabrir quando eu precisava atualizá-lo, não pensei nisso quando adicionei todos os dados pela primeira vez. Depois que se tornou mais um arquivo de adição de uma linha a cada poucos dias, ele não se tornou tão importante.
capn
Ctrl-R recalculará fórmulas ... semelhantes ao F9 do Excel.
Gary W.
Difícil colocar isso em um script, que é o que a pergunta pede.
Chenmunka

Respostas:

4

Adicione a seguinte linha de código:

SpreadsheetApp.flush()

Consulte a referência: nivelada

Jacob Jan Tuinstra
fonte
Até que exista um comando que libere uma única célula, coluna ou linha, acho que essa é a abordagem mais pesada que terei que usar. É melhor chamá-lo conforme necessário para mim em uma única célula manualmente, quando eu quero que todos os dados sejam atualizados (F5 e ctrl-F5 não fazem isso, apenas abrindo e fechando), pois chamá-lo a cada vez provavelmente causaria algum imprevisto loop e duplicação de trabalho quando a folha é aberta pela primeira vez.
capn
5

Eu vim aqui para procurar uma resposta também para a mesma situação (chamando dados de recursos externos), mas desde então elaboramos um método alternativo que funciona, então pensei em compartilhar.

Essa não é a maneira tecnicamente mais experiente de fazer isso, mas se você excluir a célula e desfazer, ela será recarregada.

Funciona um prazer.

LBanh
fonte
11
Como você trabalha isso em um script?
ale
uau, isso está realmente funcionando! Note que você tem que esperar alguns segundos antes de desfazer, senão ele não vai funcionar
Hibbem