繁体   English   中英

无法调用未定义的方法“getValues”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM