私は Google ドキュメントを使い始めたばかりですが、本当に感謝しています。単純なタスクを実行するスクリプトは非常に簡単ですが、速度の問題が発生する可能性があり、少しイライラすることに気付きました。
現場での特定の材料のコストを計算するためにビジネスで使用するシートを持っています。それはうまく機能しますが、ジョブ間でクリアするのは少し面倒だったので、空にする必要がある範囲 (私が定義し、名前で参照) をクリアする簡単なスクリプトを書きました。
繰り返しますが、うまくいきました。唯一の問題は、いくつかの範囲 (7 つ) をクリアするのに約 10 秒かかることです。これは、各範囲がクリアされた後にスプレッドシートが保存されているためであり、時間がかかるためだと思います。
私がやりたいのは、スクリプトで自動保存を無効にしてこの理論をテストし、範囲がクリアされた後に再度有効にすることです。APIでそれを行う関数を見たことがないので、これが可能かどうかはわかりませんが、可能であれば知りたいです.
編集:これは私がそのまま使用している機能です。より簡潔にし、API 呼び出しの集中を少なくするために、何度か書き直そうとしましたが、これまでのところ、呼び出しの処理にかかる時間を短縮することはできませんでした。
function clearSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.getRange("client").clear();
sheet.getRange("lm_group_1").clear({contentsOnly:true});
sheet.getRange("lm_group_2").clear({contentsOnly:true});
sheet.getRange("dr_group_1").clear({contentsOnly:true});
sheet.getRange("dr_group_2").clear({contentsOnly:true});
sheet.getRange("fr_group_1").clear({contentsOnly:true});
sheet.getRange("fr_group_2").clear({contentsOnly:true});
sheet.getRange("gr_group_1").clear({contentsOnly:true});
sheet.getRange("client_name").activate();
}