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?


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


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.