首页 > 解决方案 > 在 Google 表格中,如何锁定或阻止排序

问题描述

我有一个多人编辑的共享工作表。数据按照我们的需要按照非常特定的顺序排列。我需要防止人们对这张弄乱数据的表格进行排序。我对 Apps 脚本或基于设置的解决方案持开放态度。

保护工作表确实不是一种选择,因为很多范围需要许多人进行编辑

理想情况下,排序菜单项将显示为灰色。其次,覆盖排序按钮以不执行任何操作。或者,让代码执行诸如取消排序操作或反转排序之类的操作。

标签: google-apps-scriptgoogle-sheets

解决方案


这个怎么样,它计算行数并锁定它们不排序

function freezeRows() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var range = ss.getDataRange().getValues().length;  //gets # of rows

  ss.setFrozenRows(range);//freezes all rows
}

可以使用 onOpen 和 onEdit 触发器,因此无论何时打开它都会运行,并且在编辑任何内容时也会运行。


推荐阅读