这是我的电子表格
这是我想要做的事情。
当用户从第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'
开始答案 0 :(得分:0)
对于这种类型的操作,OnEdit并不是非常可靠,相反,可以考虑使用另一种限制用户输入的方法,您可以使用sideBar,GoogleForm,已发布的HTML(doGet),其他工作表等。< / p>
使用onEdit,如果用户复制和粘贴,很快就会编辑很多os单元格,离线然后在线,那里有太多的电话等等,你最终会遇到各种错误。