2017-02-15 13 views
1

Googleのスプレッドシートにいくつかのスクリプトがあります。このスクリプトをすべて完了するまでには多大な時間がかかります(最大5分と思います)。ユーザーがちょっと待たなければならないというメッセージを表示したい。だから、私はいくつかのコードを持っています:機能が動作している間にGoogle Apps Scriptの更新シート

function test(){ 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    var cell = sheet.getRange("A1"); 
    sheet.clear(); 
    cell.setValue('WAIT!!!!'); 
    DATA = UrlFetchApp.fetch(url); 
    // And some action that takes a lot of time .... 
    cell.setValue('DONE!!!!'); 

しかし、「WAIT」は表示されません。何らかのエラーや機能がクラッシュした場合、私には「WAIT」としか表示されません。私は何とかそれをリフレッシュする必要があるように見えます。

答えて

3

セル値を待機に設定した後に、flush()メソッドを呼び出します。

SpreadsheetApp.flush(); //Applies all pending Spreadsheet changes. 
+0

これは役に立ちません。スクリプトがサーバー側で実行され、スクリプトが終了するまで何も戻らないため、何も表示されません。 –

+1

'SpreadsheetApp.flush()'は、スクリプトがまだ実行されている間にシートを更新します。何も返される必要はありません。チェックするだけで無限ループの前に呼び出され、シートを更新しました。 – Hink

+0

hmmm、ちょうどテストされ、実際には、申し訳ありませんが、私はそれが以前のバージョンのスプレッドシートで動作していないと確信しています..私の悪い、私はチェックしてください!補償するためにupvote;)。 –

関連する問題