我想做一個可視化亂數生成器。這意味著在單元格 F4 中,亂數應該隨機播放,直到它以亂數停止。我現在的問題是,我只能看到生成的最后一個數字,而不是洗牌。
function Wuerfeln() {
var Upperbound = 60;
var Lowerbound = 1;
var i = Math.floor(Math.random() * (50 - 10 1) 10);
var RandomNummber = 0;
var range = SpreadsheetApp.getActiveSpreadsheet().getRange("F4");
while(i>0)
{
RandomNummber = Math.floor(Math.random() * (Upperbound - Lowerbound 1) Lowerbound);
range.setValue(RandomNummber);
i--;
Utilities.sleep(200);
};
};
uj5u.com熱心網友回復:
我建議你定義一些東西,然后嘗試直到它看起來像你想要的,或者你可以做的是創建一個彈出視窗,顯示一個骰子的 .gif。
第一種方法看起來像這樣
function wurfel(){
const timeDelay = 200
const numbersToShowUntilFinal = 20 // or do a random num
// then your code here,
// but using the variables above to test around until you found a cool
}
uj5u.com熱心網友回復:
Google Sheets 有最短的參考時間,你不會通過設計讓它改變得非常快。
來自腳本的許多請求被批量處理并同時運行,因此當編輯都在同一個單元格中時,您不會看到它們發生變化,只會顯示最后一個。
強制單元格更改的唯一方法是SpreadsheetApp.flush()按照Sergey 的建議使用。這會強制推送所有掛起的作業表更改。但是,正如您所指出的,這很慢。
要做到這一點,您需要有一個 HTML 對話框或側邊欄,它可以運行直接更改 HTML 元素而不是電子表格中的單元格的 JavaScript。
我知道這通常是個壞訊息,但我希望這對您有所幫助!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/338174.html
上一篇:防止GoogleJsonResponseException:對sheet.spreadsheets.batchUpdate的API呼叫失敗并出現錯誤:必須至少指定一個請求
