不幸的是,关于DataValidation
构建器的Apps Script文档页面缺少关于requireCheckbox
方法的信息。
不过,当你通过脚本文件输入时,自动完成提供了3个重载:
无参数:
requireCheckbox()
1 arg:
requireCheckbox(Object checkedValue)
2个参数:
requireCheckbox(Object checkedValue, Object uncheckedValue)
在这些论点中,我可以使用对象的哪些参数,它们可以达到什么目的?
CHECKBOX
单元格有两个值:
TRUE
,当检查和- 未选中时为
FALSE
根据提供给requireCheckbox的参数数量,使用不同的值:
- 无参数:
- 使用默认值
- 一个论点:
- 选中时提供的参数
- 未选中时为空
- 两个论点:
- 提供的参数分别用于已检查状态和未检查状态
示例代码:
function yesNoDV() {
//Changes checked state to 'Yes' and Unchecked state to 'No'
SpreadsheetApp.getActive()
.getRange('Sheet1!A1')
.setDataValidation(
SpreadsheetApp.newDataValidation()
.requireCheckbox('Yes', 'No')
.build()
);
}
Object
是谷歌文档在不适用更特定类型时使用的默认类型。您可以安全地将其解释为any
的模拟(事实上,Google Apps Script的@types
TypeScript包中有用any
注释的参数)。
此外,截至2021年,该文档包含有关所有方法重载的信息。引用它,重载函数如下所示。
无参数
设置数据验证规则,要求输入为布尔值;该值呈现为复选框。
一个参数
设置数据验证规则,要求输入为指定值或为空。当输入与指定值匹配时,单元格将呈现为选中的复选框。当输入为空时,单元格将显示为未选中的复选框。
两个参数
设置数据验证规则,要求输入为指定值之一。当输入为checkedValue时,单元格将呈现为选中的复选框。当输入未选中Value时,单元格将显示为未选中的复选框。
每个过载的含义与TheMaster的答案中概述的含义没有改变。