2017-02-15 74 views
1

我的Google表格中有一些腳本/完成所有腳本可能需要很長時間(我認爲最多5分鐘)。我想顯示一些消息,用戶應該稍微等一下。所以我有這樣的代碼:功能運行時Google Apps腳本刷新表

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」。看起來我需要以某種方式刷新它。

回答

3

將單元格值設置爲等待後調用flush()方法。

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

這沒有幫助。它沒有顯示任何內容,因爲腳本在服務器端運行,直到完成後纔會返回任何內容。 –

+1

'SpreadsheetApp.flush()'是專門用於在腳本仍在運行時更新工作表的,並且不需要返回任何內容。我在無限循環之前調用它來檢查並且它仍然更新表單。 – Hink

+0

嗯,剛剛測試過,它確實工作,對不起,我很確定它不適用於以前版本的電子表格..我的壞,我應該檢查! upvote補償;)。 –