私は長い検索を行い、コードで多くの実験を行いましたが、探しているものが見つかりませんでした. 誰かが親切に助けてくれるかもしれませんか?
セル A1 に複雑な数式を含む Google スプレッドシートがあります。数式が結果を計算している間、セルに「Thinking...」と数秒間表示されることがあります。
セル A1 の値に依存するスクリプト 'myFunction()' があります。セルに「Thinking...」と表示されていると正しく実行されないため、式が「Thinking」を終了するまで待機してから myFunction() を実行する別のスクリプトを作成しようとしています。
これは私がこれまでに持っているものです:
function waitMyFunction () {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet1');
var range = s.getRange('A1:A1') // range where I want to make sure 'Thinking' is done
var values = range.getValues();
var string = values.toString();
var loading = "Thinking...";
while (string.search(loading) ==! 0); {
(Utilities.sleep(10000)); // Wait for 10 seconds
}
myFunction();
};
問題は、セル A1 の値に関係なく、スクリプトが 10 秒間待機しているように見えることです。数式が「考える」でなくても待ちます。このスクリプトを高速に実行する必要があります。式が考えている奇妙な時間に 10 秒かかることはありますが、毎回ではありません!
誰でも私を正しい方向に向けることができますか? 私はこれを解決するために何時間も費やしました。誰かに何かアイデアがあれば、あなたの助けをいただければ幸いです。
ご覧いただきありがとうございます。