Google Sheets Script允许向单元格添加数据,但保护单元格不被删除



我有一个问题,人们从谷歌表格中删除单元格,而不是清除内容。这些工作表是静态的,有条件格式,所以当单元格被删除时,条件格式就会变得很疯狂。我需要一个脚本,允许我防止单元格被删除,但仍然允许输入数据,并允许数据与我使用的清晰内容脚本清除。

我有几个人在谷歌工作表的A列输入数据。一个人将获取这些数据并在表单之外使用它执行一个功能,然后清除内容,以便这个过程可以不断重复。

有很多与单元格相关的条件格式,这样用户就可以看到他们输入的数据是否有效。如果最终用户运行这个脚本来清除内容:

function ClearCells1() {
var sheet = SpreadsheetApp.getActive().getSheetByName('INT QC');
sheet.getRange('A2:A9660').clearContent();}           

我想确保他们不能"删除"。单元格错误,因为这会导致条件格式混乱。

您可以尝试下面的脚本

function onEdit(e) {
var user = e.user;
var oldVal = e.oldValue
var newVal = e.value;
var r = e.range;
var rCol = r.getColumn();
var ss = r.getSheet().getSheetName();
var sheet = SpreadsheetApp.getActive().getSheets();
if(user!="user@domain.com" && newVal==undefined && rCol==1 && ss==sheet[0].getName())
// Replace the email address with your own after testing it so that you get access to delete info
{
r.setValue(oldVal);
SpreadsheetApp.getUi().alert("You do not have enough permissions to delete data");
// This generates the alert message, but you can delete if you do not need it.
}
}

任何用户应该仍然能够运行当前脚本来清除column A中的数据,而不会出现任何问题。

引用:

  • 事件对象(编辑)
  • /ul>

相关内容

  • 没有找到相关文章