谷歌工作表的编辑插入后保护行

问题描述

我有以下问题。我需要与将成为此工作表编辑者的其他人共享一个 Google 工作表,但他们应该无法修改任何内容,而不仅仅是添加新行。添加新行后,单击按钮检查最后一行的所有单元格是否已填充:如果未填充,则会显示错误消息。如果是,最后一行,即刚刚创建的行,应该以这样的方式受到保护,即使是填写它的人也不能再修改它。我试图保护最后一行的相应范围,但它不起作用。我开始认为我想要的可能是不可能的:工作表的编辑器可以在工作表的范围内设置保护吗?这不是专门授予该工作表的管理员吗?有解决办法吗?

这是我的代码

function verifyData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Presenze");
  var rows = sheet.getDatarange().getValues();
  var lastRowIndex = sheet.getLastRow();
  var lastRowValues = rows[lastRowIndex-1];
  var n = 0;
  for(i = 0; i < 8; i++) {
    var value = lastRowValues[i];
    if(value == "" || value == " " || value == null)
      n++;       
  }
  var message;
  if(n == 1)
    message = "Attention: one cell has not been filled out!";
  else if (n >= 2)
    message = "Attention:" + n.toString() + " cells have not been filled out!";
  else {  
    var range = sheet.getRange("A"+lastRowIndex.toString()+":H"+lastRowIndex.toString());
    var protection = range.protect().setDescription("Sample protected range");
    message = "Data inserted is complete!";
  } 
  SpreadsheetApp.getUi().alert(message);  
};

任何帮助将不胜感激!

提前致谢, 米海

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)