【发布时间】:2021-03-25 04:21:04
【问题描述】:
当用户尝试在同一行的 E 列中的复选框被选中时编辑 D 列中的日期时,我正在尝试创建一条消息。最终,当检查同一行的 E 列时,我想阻止用户编辑 D 列,但从我读过的内容来看,我不相信你能做到这一点。以下是我的脚本,非常感谢您的帮助。
function onEdit(e){
var range = e.range
var sheet = range.getSheet();
var sheetName = "Sheet Name";
var row = range.getRow();
var checkboxColumn = range.getColumn();
var editedColumn = range.getValue();
var checkbox = range.getValue();
if (sheet.getName() == sheetName && editedColumn == 4 && checkboxColumn == 5 && row > 2 && checkbox == true) {
Browser.msgBox("my message");
}
)
【问题讨论】:
-
您应该能够使用数据验证实现数据输入的“阻止”。在要限制输入的单元格上,启用数据验证并选择“自定义公式”选项。公式将为 =( = FALSE)。然后选择“拒绝输入”。然后测试 - 当复选框被勾选并且您尝试输入一个值时,您会看到一条消息(您可以输入一些内容,但是一旦您移动单元格或按 Enter,就会出现该消息并且不允许输入) .取消选中复选框后,您将能够输入值。
-
当然,使用数据验证限制数据输入的一个缺点是,如果您想应用某种其他类型的数据验证(例如限制为列表),那么显然您不能有多个不同的数据验证规则
标签: javascript google-apps-script google-sheets triggers