新手:为谷歌表格编写一个脚本,该脚本将在所有表格上运行



我是一个真正的新手(甚至不是(。我一生中从未编写过代码 - 只是从解释如何做到这一点的网站上复制了以下代码。我是一个谷歌文档,随着新数据的添加,我需要根据 C 列不断排序。这是我得到的代码:

function onEdit() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(3, 1, sheet.getLastRow() - 2, sheet.getLastColumn());
range.sort({column: 3, ascending: true});
}

它部分工作,但我需要将其应用于文档中的所有工作表/标签。 提前感谢!

  • 您的代码包含行var sheet = SpreadsheetApp.getActiveSheet();,其余代码基于sheet- 因此它仅在一个工作表上运行,插入新数据时处于活动状态的工作表,因此执行编辑的工作表
  • 相反,如果您想对电子表格的所有工作表中的每个编辑执行排序,则需要 getSheets(( 方法以数组形式检索电子表格的所有工作表
  • 随后,您需要遍历数组以将排序功能应用于每个工作表

样本:

function onEdit() {
var sheets = SpreadsheetApp.getActive().getSheets();
for (var i = 0; i < sheets.length; i++){
var sheet = sheets[i];
var range = sheet.getRange(3, 1, sheet.getLastRow() - 2, sheet.getLastColumn());
range.sort({column: 3, ascending: true});
}
}

重要:

onEdit触发器仅检测人为编辑,例如键入文本。相反,如果您想在更改文档结构时触发触发器,例如插入新的空行(这与在现有空行的单元格中键入值不同(,则需要通过可安装的onChange触发器替换onEdit触发器,另请参阅此处

相关内容

  • 没有找到相关文章

最新更新