簡體   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