我有一个列(Col3),它有一个下拉列表。其中一个选项处于挂起状态。在下一个单元格(COL4)中是另一个下拉列表,NOTSUBMITTED是其中一个选项。
现在我想要的是,如果COL3有挂起,我应该不能改变COL4中的下一个单元格。简而言之,如果COL3有挂起,NOTSUBMITTED就不能改变。
然后显示一条弹出消息,说明有关这方面的一些信息。我尝试了以下操作,但它显示了消息,但我无法阻止正在更改的Col 4。我可以轻松地更改或删除第4列。
如何阻止这一切。
function onEdit(event){
var actvCell = event.range.getSheet().getActiveCell();
if(actvCell.getColumn() == 3 && event.value=="PENDING"){
Browser.msgBox('You cannot make changes if payment is pending');
}
}发布于 2019-07-20 09:44:44
Problem
您希望根据活动单元格中的值停止编辑另一个单元格。
解决方案
您需要了解Protection类是如何为Spreadsheet服务工作的。算法如下:
如果活动单元格值为"pending“,则为
请记住,关于编辑权限有很多需要考虑的因素,最重要的是:
无论protections;
有用链接
Protection类reference;getProtections()方法reference(https://developers.google.com/apps-script/reference/spreadsheet/sheet#getProtections(ProtectionType%29);protect()方法reference;remove()方法reference;removeEditors()方法reference(https://developers.google.com/apps-script/reference/spreadsheet/protection#removeEditors(String%29);https://stackoverflow.com/questions/57116786
复制相似问题