如何使用Google Apps脚本Range.setDataValidation

one*_*elf 1 validation google-sheets google-apps-script

我想限制可在Google电子表格中选择的可能值.这可以通过UI轻松完成,但我想在Apps脚本中完成此操作.当我输入以下内容时:

var sheet = // get a sheet from somewhere
sheet.getRange(row, column, numRows, numColumns).setDataValidation(dataValidation);
Run Code Online (Sandbox Code Playgroud)

编辑器自动填充"setDataValidation"方法.弹出帮助说它需要一个"DataValidation"类.但是,我无法找到此类或此方法的任何文档.

有没有人碰巧知道这是否真的得到了支持?如果是这样,人们可以如何使用它?

谢谢

pbh*_*bhd 5

我认为这是一个新功能.您可以通过执行以下操作来获取DataValidation:

var r = SpreadsheetApp.openById("...").getActiveRange();
var dv = r.getDataValidation();
Run Code Online (Sandbox Code Playgroud)

在弹出窗口中,dv.您可以看到以下功能:

requireValuesInList(String[] values) : DataValidation
requireValuesInRange(Range rangeApi) : DataValidation
setHelpText(String helpText) : DataValidation
setShowDropDown(boolean showDropDown) : DataValidation
Run Code Online (Sandbox Code Playgroud)

然后,您需要在范围内设置验证:

r.setDataValidation(dv);
Run Code Online (Sandbox Code Playgroud)