google-apps-script - 在 Google 表格中,如何锁定或阻止排序
问题描述
我有一个多人编辑的共享工作表。数据按照我们的需要按照非常特定的顺序排列。我需要防止人们对这张弄乱数据的表格进行排序。我对 Apps 脚本或基于设置的解决方案持开放态度。
保护工作表确实不是一种选择,因为很多范围需要许多人进行编辑
理想情况下,排序菜单项将显示为灰色。其次,覆盖排序按钮以不执行任何操作。或者,让代码执行诸如取消排序操作或反转排序之类的操作。
解决方案
这个怎么样,它计算行数并锁定它们不排序
function freezeRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getDataRange().getValues().length; //gets # of rows
ss.setFrozenRows(range);//freezes all rows
}
可以使用 onOpen 和 onEdit 触发器,因此无论何时打开它都会运行,并且在编辑任何内容时也会运行。
推荐阅读
- blockchain - 使用 Solidity 中的 hexdata 从已部署的合约 abc 调用已部署的合约 xyz 公共应付款功能
- c# - C# 链表对值进行排序并将 int 插入正确的位置
- javascript - 等待一次提取完成,然后再开始下一次提取
- angular - Angular 5.x 页面加载或模块本身的初始化需要更长的时间
- php - 使用一个 SQL 字符串的行数
- python - COLAB 错误:命令出错,退出状态为 1:python setup.py egg_info 检查日志以获取完整的命令输出
- android - React-native 无法编译运行
- sql - 验证只存在一个值
- ios - XCTest 无法读取启动参数
- javascript - 如何使用不同的方法从 Parse 平台“表”中获取所有“列”,例如 SQL 上的 GROUP BY