GAS - 检查已编辑的单元格

时间:2015-01-02 23:20:03

标签: google-apps-script google-sheets

这是我的电子表格

enter image description here

这是我想要做的事情。

当用户从第4行及以下输入任何数据时,onEdit()函数会检查顶行以查看Session.getActiveUser();匹配" me@email.com"。

*单元格范围内的第1,2和3列A:C只能通过A1的电子邮件进行编辑。

*单元格范围内的第1,2和3列:D:F只能通过D1的电子邮件进行编辑。

这是我迄今为止检查用户编辑过的单元格所做的事情。

function onEdit(e) {
  var editedSheet = e.source.getActiveSheet();
  var editedRange = e.source.getActiveRange();

  // clear edited value if email does not match
  if (Session.getActiveUser() != range.getCell(1,1).getValue()) {
     editedRange.setNote(""); // clear value
  }
}

问题在于检查A1,D1等中的每个单元格是非常繁琐的,因为我在电子表格中有几张纸。

其他表格可能不一定从列中开始' A'无论是。单元结构可能从列' B'

开始

1 个答案:

答案 0 :(得分:0)

对于这种类型的操作,OnEdit并不是非常可靠,相反,可以考虑使用另一种限制用户输入的方法,您可以使用sideBar,GoogleForm,已发布的HTML(doGet),其他工作表等。< / p>

使用onEdit,如果用户复制和粘贴,很快就会编辑很多os单元格,离线然后在线,那里有太多的电话等等,你最终会遇到各种错误。