我有一个相当大的谷歌表格文件,其中包含 15 个以上的电子表格。 我需要一个脚本,让我可以通过调用功能/按钮对某些电子表格进行排序,例如按特定列:
电子表格“员工”和“团队”按第 2 列排序
(所有其他数据应像普通的谷歌过滤器排序一样排序)
我发现的所有脚本仅支持按活动电子表格排序
提前致谢
尝试询问chatgpt但没有成功,谷歌搜索/搜索SO
所以这是您可以尝试的一个选择。 它只是一个基本脚本,它将根据提示中指定的列对活动工作表进行排序。
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp, SlidesApp or FormApp.
ui.createMenu('🔃')
.addItem('Sort by Column', 'displayPrompt')
.addToUi();
}
function displayPrompt() {
var ui = SpreadsheetApp.getUi();
var result = ui.prompt("Select column to sort by:");
//Get the button that the user pressed.
var button = result.getSelectedButton();
var colResp = result.getResponseText();
var colNum = Number(colResp);
if (button === ui.Button.OK) {
sortBy(colNum);
} else if (button === ui.Button.CLOSE) {
Logger.log("The user clicked the [X] button and closed the prompt dialog.");
}
}
function sortBy(colNum) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var rg=sheet.getRange(2,1,sheet.getLastRow()+1,sheet.getLastColumn()+1);
rg.sort([{column:colNum,ascending:true}]);//The sort options is an array of objects but the array can be left for just one.
}
注意:没有进行任何验证。 如果用户在框中输入“是”,则会返回一条错误,内容如下:“参考超出范围”。 如果您愿意,可以将错误处理程序添加到脚本中。
您必须第一次授权该脚本。 请注意,当您授权该脚本时,该脚本将不会运行。 不过,此后每次都会运行。