[英]Cannot call method "getValues" of undefined
返回的错误是:
“类型错误:无法调用未定义的方法“getValues”。(第 7 行,文件“代码”)”
function setDropdown() {
var ss = SpreadsheetApp.getActive();
var sht = ss.getSheetByName('Sheet1');
selecionaRange(sht);
var arrayValues = rng.getValues();
var rangeRule = SpreadsheetApp.newDataValidation().requireValueInList(arrayValues);
ss.getRange('sheet1!A6').setDataValidation(rangeRule);
}
function selecionaRange(sht) {
if (sht.getRange("A1") == "IM") {
return rng = sht.getRange('B1:B5');
}
}
非常感谢你试图帮助我。 我发现我的问题是在 sht.getRange("A1") 之后缺少 .getValue() 方法
现在它起作用了。
var rng = null //or better another value
function setDropdown() {
var ss = SpreadsheetApp.getActive();
var sht = ss.getSheetByName('Sheet1');
selecionaRange(sht);
var arrayValues = rng.getValues();
var rangeRule = SpreadsheetApp.newDataValidation().requireValueInList(arrayValues);
ss.getRange('sheet1!A6').setDataValidation(rangeRule);
}
function selecionaRange(sht) {
if (sht.getRange("A1").getValue() == "IM") { //Here must have .getValue()
return rng = sht.getRange('B1:B5');
}
}
function setDropdown() {
var ss = SpreadsheetApp.getActive();
var sht = ss.getSheetByName('Sheet1');
var rng = selecionaRange(sht);
var arrayValues = rng.getValues();
var rangeRule = SpreadsheetApp.newDataValidation().requireValueInList(arrayValues);
ss.getRange('sheet1!A6').setDataValidation(rangeRule);
}
function selecionaRange(sht) {
if (sht.getRange("A1") == "IM") {
return sht.getRange('B1:B5');
}
}
你的代码是这样开始的:
function setDropdown() {
var ss = SpreadsheetApp.getActive();
var sht = ss.getSheetByName('Sheet1');
selecionaRange(sht);
var arrayValues = rng.getValues();
请注意var arrayValues = rng.getValues();
- 您正在处理的rng
对象未定义。 您需要先定义它,从函数外部获取它或将其作为参数传递 - 但在调用方法或对其执行任何操作之前,您需要它存在。
此外,在selecionaRange
方法中的 return 语句中,您不需要设置sht.getRange('B1:B5');
值到 rng 然后返回它......只返回函数返回的内容,如下所示:
return sht.getRange('B1:B5');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.