空中单位 发表于 2024-11-18 14:40:58

【17.1.0】如何给设置了数据验证的列设置不可编辑

如题,我在EditStarting事件上设置了修改某列时args.cancel = true,但是如果这个单元格上设置过数据验证,则可以通过选择右侧的下拉框进行修改,我现在希望不可编辑该单元格

Wilson.Zhang 发表于 2024-11-18 14:40:59

本帖最后由 Wilson.Zhang 于 2024-11-28 16:49 编辑

空中单位 发表于 2024-11-18 16:14
能不能锁一列,我有一个新增行的操作,我希望新增的行上对应的单元格也有保护
可以的,选中整表取消单元格锁定,然后选中整列对该列设置单元格锁定,随后开启表单保护,在这一列任意位置插入新行后新产生的单元格锁定状态与该列整体保持一致。您可以亲测下。

Wilson.Zhang 发表于 2024-11-18 15:49:05

您好!可以通过表单保护锁定该单元格,不允许对其进行编辑。

空中单位 发表于 2024-11-18 16:14:06

Wilson.Zhang 发表于 2024-11-18 15:49
您好!可以通过表单保护锁定该单元格,不允许对其进行编辑。

能不能锁一列,我有一个新增行的操作,我希望新增的行上对应的单元格也有保护

空中单位 发表于 2024-11-18 17:45:56

Wilson.Zhang 发表于 2024-11-18 17:37
可以的,选中整表取消单元格锁定,然后选中整列对该列设置单元格锁定,在这一列任意位置插入新行后新产生 ...

请问代码具体是怎么写呢,没找到

Wilson.Zhang 发表于 2024-11-19 08:33:19

空中单位 发表于 2024-11-18 17:45
请问代码具体是怎么写呢,没找到

参考如下代码:
//设置整表
sheet.getRange(-1, -1, -1, -1).locked(false);
//设置整列
sheet.getRange(-1, col, -1, 1).locked(true);

空中单位 发表于 2024-11-19 15:08:59

空中单位 发表于 2024-11-19 15:12:14

Wilson.Zhang 发表于 2024-11-19 08:33
参考如下代码:

试过了,没用,看我上面图,还是能选择修改

Wilson.Zhang 发表于 2024-11-19 17:15:16

空中单位 发表于 2024-11-19 15:12
试过了,没用,看我上面图,还是能选择修改

需要结合表单保护使用,加上sheet.options.isProtected = true即可对sheet开启表单保护。

空中单位 发表于 2024-11-20 11:18:09

Wilson.Zhang 发表于 2024-11-19 17:15
需要结合表单保护使用,加上sheet.options.isProtected = true即可对sheet开启表单保护。

我是要锁这一列,不是锁整个sheet,而且你锁了表单还要上面代码锁数据验证干嘛呢:L
页: [1] 2
查看完整版本: 【17.1.0】如何给设置了数据验证的列设置不可编辑