我正在构建一个HTML模板来自动执行Google表格。如何获取显示在数据验证列表中的值的数组?
我尝试了DataValidation
的所有方法...但是我只能得到[Range, true]
数组。有什么方法列出所有有效的选项,例如[option_1, option_2, option_3]
?
function getOptions() {
var ss = SpreadsheetApp.openById('1ubMapaDrrOySpreadSheetIDjBEvHxphA83rzs')
var sheet = ss.getSheetByName("sheet_name");
var dv = sheet.getRange(2, 19).getDataValidation()
var myTarget = dv.getCriteriaValues();
Logger.log(myTarget)
}
我希望有一个选项数组:[option1, option2, option3, etc..]
,但是我得到了一个包含两个元素的数组:[range, true]
。
答案 0 :(得分:0)
我正在研究另一个问题,寻找适用于特定数据验证范围的规则。 This is a link to that answer。就我而言,我在代码的这一部分找到了:
var args=rule.getCriteriaValues();
if(args[0].getA1Notation()==org.getA1Notation()) {
args [0]实际上是范围对象。希望对您有所帮助。
答案 1 :(得分:0)
我找到了具有库珀技巧的解决方案,因此我可以自己输入。 我要做的就是从方法getCriteriaValues()返回的数组的第一个参数中获取值。编辑器没有提示getValues命令,但是当我手动输入它时,得到了预期的数组。
function getOptions() {
var ss = SpreadsheetApp.openById('1ubMapaDrrOySpreadSheetIDjBEvHxphA83rzs')
var sheet = ss.getSheetByName("sheet_name");
var dv = sheet.getRange(2, 19).getDataValidation();
var critVal = dv.getCriteriaValues();
var myTarget = critVal[0].getValues();
Logger.log(myTarget)
}
还有薄纱:)。