如何使用谷歌应用程序脚本根据输入禁用特定单元格。
我们正在使用以下代码
function Lock_Cells()
{
var sheet = SpreadsheetApp.getActive();
for (var i = 12; i <= 13; i++)
{
var Check_Cell = "H" + i;
var Temp = sheet.getRange(Check_Cell).getValue();
if (Temp == "YES")
{
var Lock_Range = sheet.getRange("H" + i + ":J" + i);
var protection = Lock_Range.protect().setDescription('Sample protected range');
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
protection.setDomainEdit(false);
}
}
}
}
}
提前致谢
答案 0 :(得分:0)
从您的代码我假设您使用此link来参考您的脚本。如果你需要根据1(或更多)列的响应来保护某个范围,这里有一个我刚刚使用和测试的样本:
if label = event1, add these new properties x:0.5 and y:0.75
if label = event2, add these new properties x:0.666 and y:0.235
这是我用于其中一张纸张的稍微不同的方法。在这里,我不是根据他们的条目取走许可,而是根据他们在第1列中使用canEdit()函数的响应给予他们许可。这不仅可以确保您的无效字段受到保护,还可以确保输入数据时不会出现拼写错误等差异。所以,如果有人要进入&#34; bok&#34;而不是&#34; Book&#34;这不起作用。
然而,使用onEdit函数可确保即使第2列所做的更改也会恢复为--NA--如果第1列除了&#34; Book&#34;之外的其他内容。