我有这个:
var sh = SpreadsheetApp.openById(ssID).getSheetByName('Sheet0');
var protection = sh.protect().setDescription('BVDATA');
var me = Session.getEffectiveUser();
protection.addEditor(me).setUnprotectedRanges([(sh.getRange(sh.getLastRow()+1, 6, sh.getLastRow(),1))]);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()){
protection.setDomainEdit(false);
}
}
我有一系列单元格,除 F2: F 外都受到保护。此代码运行良好,它将自动保护Sheet0
除最后一行以外的所有单元格。但我真正需要的是,它只需要为已经输入内容OK
(F) 的单元格启用保护,空白和错误的单元格仍然可以编辑。我需要如何编辑它才能让它按照我的意愿工作。
我相信你的目标如下。
OK
.在这种情况下,作为一个简单的修改,您的脚本的以下修改如何?
protection.addEditor(me).setUnprotectedRanges([(sh.getRange(sh.getLastRow()+1, 6, sh.getLastRow(),1))]);
protection.addEditor(me).setUnprotectedRanges(sh.getRange("F1:F").createTextFinder("^(?!OK).*$").matchEntireCell(true).useRegularExpression(true).findAll());
are retrieved using TextFinder and the retrieved ranges are set for
setUnprotectedRanges`值的单元格之外的单元格。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句