2015-07-27 3 views
6

Ich experimentiere mit Blockspring, das ein Google Tabellen-Add-on bereitstellt, das beispielsweise eine Funktion ausführen kann, die Daten von einem Webservice z.So aktualisieren Sie den Zellenwert eines Tabellenblatts in Google Apps Script

Ich möchte die Daten einer Zelle aktualisieren, sehe aber keinen 'refresh' Aufruf in den Dokumenten.

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 

} 

Antwort

12

die flush() Methode verwenden:

Google Documentation

SpreadsheetApp.flush(); 

Zitat von der Dokumentation:

Gilt alle anstehenden Kalkulationstabelle

ändert

Wenn es an der Tabelle keine Veränderungen waren, aber Sie wollen Formeln zwingen, neu zu berechnen, müssen Sie eine Änderung vornehmen, und dann SpreadsheetApp.flush();

Zum Beispiel verwenden, können Sie den Wert aus der Zelle A1 erhalten, dann setzen die gleicher Wert für Zelle A1. Es besteht also keine Möglichkeit, Daten zu verlieren, weil Sie denselben Wert erhalten und einstellen. Die Änderung ermöglicht. SpreadsheetApp.flush(); um alle Formeln neu zu berechnen.

-1

Markieren Sie die Zelle mit der Formel oder mehr Zellen mit Formeln Aus dem Google-Menü wählen: Add-ons > Blockspring > Refresh Selected Cells

Hoffnung, die

hilft