Google Sheets脚本中能否通过变量拼接引用编号变量?
Google表格脚本:用编号变量精简代码的可行方案
你原来的写法行不通是因为range是未定义的变量,而且JS里没法直接通过字符串拼接的方式引用已定义的变量名。给你两种靠谱的实现方式:
方法一:用数组存储(推荐)
把所有range变量放进数组里,通过索引来访问对应项,这是最清晰易维护的写法:
var sheet = SpreadsheetApp.getActiveSheet(); // 把range存入数组,索引从0开始 var ranges = [ sheet.getRange("A1:A10"), sheet.getRange("B1:B10") ]; var value = 1; // 对应数组里的第2项(索引1) // 注意数组索引从0开始,所以要减1 var targetValues = ranges[value - 1].getValues();
方法二:动态访问全局变量(不推荐)
如果非要用类似range+value的逻辑,可以通过全局对象来动态获取变量,但这种写法可读性差,后期维护容易出问题:
var sheet = SpreadsheetApp.getActiveSheet(); var range1 = sheet.getRange("A1:A10"); var range2 = sheet.getRange("B1:B10"); var value = 1; // 在Google Apps Script里可以用this或者global来访问全局变量 var targetRange = this[`range${value}`]; var targetValues = targetRange.getValues();
总结一下,优先用数组的方式,代码结构更清晰,也符合JS的最佳实践。
内容的提问来源于stack exchange,提问作者Brodieman
相关产品推荐
相关产品推荐

