我对使用 Google Docs 还很陌生,但我真的很感激它。脚本很容易完成简单的任务,但我开始意识到一个潜在的速度问题,这有点令人沮丧。
我有一张用于我的业务的表格,用于计算工地上某些材料的成本。它工作得很好,但是在工作之间清除有点乏味,所以我编写了一个简单的脚本来清除我需要清空的范围(由我定义并由名称引用)。
再一次,工作得很好。唯一的问题是清除几个范围(七个)最终需要大约十秒。我相信这是因为在清除每个范围后保存电子表格,这变得很耗时。
我想做的是通过在脚本中禁用自动保存来测试这个理论,然后在清除范围后重新启用它。我不知道这是否可能,因为我还没有在 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();
}