簡體   English   中英

Google表格應用程序腳本 - 警報未按順序執行

[英]Google Sheets App Script - Alert Not Executing In Order

我正在為我的Google表格創建一個“文件隨播”,以幫助用戶了解如何使用它。 我正在激活范圍,然后發出警報以向用戶顯示有關該范圍的一些上下文。 但是,這些行沒有按順序執行。

我已嘗試使用Utilities.sleep(5000)將警報和選擇分解為單獨的函數,並使用setBackground()突出顯示而不是激活,但所有內容都具有相同的結果。 即使我只有一個激活和一個警報,它似乎觸發了故障

function setup_file_walkthrough(){
        var budgetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Budget');
        var ui = SpreadsheetApp.getUi();

        budgetSheet.activate();
        ui.alert('This is the budget tab ...');

        budgetSheet.getRange('F:F').activate();
        ui.alert('This is a column...');
}

我期待選擇工作表/范圍,然后出現彈出消息。 用戶單擊“確定”,然后繼續選擇下一個范圍,並顯示另一條消息等。

但是,我嘗試過的所有內容都會產生相同的結果:所有消息一個接一個地彈出而沒有任何更改,然后直接進入最后一個.activate。 幾乎就像我這樣寫的(事實上,這兩個代碼片段給了我相同的結果):

function setup_file_walkthrough(){
        var budgetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Budget');
        var ui = SpreadsheetApp.getUi();

        ui.alert('This is the budget tab ...');
        ui.alert('This is a column...');
        budgetSheet.getRange('F:F').activate();
}

嘗試這個:

function walkThru() {
  var ss=SpreadsheetApp.getActive();
  var shts=ss.getSheets();
  for(var i=0;i<shts.length;i++) {
    var msg=Utilities.formatString('This is sheet %s.', shts[i].getName());
    shts[i].getRange("A1").activate();
    SpreadsheetApp.flush();
    SpreadsheetApp.getUi().alert(msg);
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM