使用Google App Script根据输入禁用单元格

时间:2015-08-10 07:25:14

标签: google-apps-script

如何使用谷歌应用程序脚本根据输入禁用特定单元格。

我们正在使用以下代码

    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);
     }
     }
     }  
}
}

提前致谢

1 个答案:

答案 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;之外的其他内容。