新手:为 google 个工作表编写一个脚本,它将在所有工作表上 运行
Newbie: writing a script for google sheets that will run on all sheets
我在这方面是一个真正的新手(甚至不是)。我一生中从未编写过代码——只是从解释如何编写代码的网站上复制了以下代码。我有一个 google 文档,随着新数据的添加,我需要根据 C 列连续排序。这是我得到的代码:
function onEdit() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(3, 1, sheet.getLastRow() - 2, sheet.getLastColumn());
range.sort({column: 3, ascending: true});
}
部分有效,但我需要将其应用于文档中的所有 sheets/tabs。
提前致谢!
- 您的代码包含
var sheet = SpreadsheetApp.getActiveSheet();
行,其余代码基于 sheet
- 因此它 运行 仅基于一个 sheet,即插入新数据时激活,因此执行编辑的数据
- 相反,如果您想对所有 sheet 传播sheet中的每个编辑执行排序,则需要方法 getSheets() to retrieve all sheets of the spreadsheet as an array
- 随后您需要loop通过数组将排序函数应用于每个sheet
样本:
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
触发器仅检测人为编辑,例如键入文本。相反,如果您想在更改文档结构时触发触发器,例如插入一个新的空行(这不同于在现有空行的单元格中键入值),您需要通过 installable onChange
trigger, see also here
替换 onEdit
触发器
我在这方面是一个真正的新手(甚至不是)。我一生中从未编写过代码——只是从解释如何编写代码的网站上复制了以下代码。我有一个 google 文档,随着新数据的添加,我需要根据 C 列连续排序。这是我得到的代码:
function onEdit() {
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(3, 1, sheet.getLastRow() - 2, sheet.getLastColumn());
range.sort({column: 3, ascending: true});
}
部分有效,但我需要将其应用于文档中的所有 sheets/tabs。 提前致谢!
- 您的代码包含
var sheet = SpreadsheetApp.getActiveSheet();
行,其余代码基于sheet
- 因此它 运行 仅基于一个 sheet,即插入新数据时激活,因此执行编辑的数据 - 相反,如果您想对所有 sheet 传播sheet中的每个编辑执行排序,则需要方法 getSheets() to retrieve all sheets of the spreadsheet as an array
- 随后您需要loop通过数组将排序函数应用于每个sheet
样本:
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
触发器仅检测人为编辑,例如键入文本。相反,如果您想在更改文档结构时触发触发器,例如插入一个新的空行(这不同于在现有空行的单元格中键入值),您需要通过 installable onChange
trigger, see also here
onEdit
触发器