2015-07-27 15 views
6

Sto sperimentando con Blockspring che fornisce un componente aggiuntivo di Google Fogli che può, ad esempio, eseguire una funzione che restituisce i dati da un servizio web, ad es.Come aggiornare il valore di una cella in Script di Google Apps

=BLOCKSPRING("get-stock-current-stats", "ticker", "MSFT") 

Desidero aggiornare i dati di una cella ma non vedo una chiamata di "aggiornamento" nei documenti.

function onOpen() { 
    createTimeDrivenTriggers() 
} 

function createTimeDrivenTriggers() { 
    // Trigger every minute 
    ScriptApp.newTrigger('myFunction') 
     .timeBased() 
     .everyMinutes(1) 
     .create(); 

} 

function myFunction() { 
    Logger.log('I ran'); // can see this in the logs 
    SpreadsheetApp.getActiveSheet().getRange('B4').getValue() //presumably returns a value to the script 

} 

risposta

12

utilizzare il metodo flush():

Google Documentation

SpreadsheetApp.flush(); 

Citazione di documentazione:

applica tutte Foglio di calcolo in attesa cambia

Se non ci fossero modifiche al foglio di calcolo, ma si vogliono forzare le formule ricalcolare, è necessario fare un cambiamento, e quindi utilizzare SpreadsheetApp.flush();

Ad esempio, è possibile ottenere il valore dalla cella A1, quindi impostare la stesso valore alla cella A1. Quindi, non c'è possibilità di perdere dati perché stai ricevendo e impostando lo stesso valore. Il cambiamento consente. SpreadsheetApp.flush(); per ricalcolare tutte le formule.

-1

Selezionare la cella con le cellule formula o multiple con formule Dal menu di Google selezionare: Add-ons > Blockspring > Refresh Selected Cells

Speranza che aiuta