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