Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 使用范围的循环值来设置值_Google Apps Script - Fatal编程技术网

Google apps script 使用范围的循环值来设置值

Google apps script 使用范围的循环值来设置值,google-apps-script,Google Apps Script,所以我有一个复杂的谷歌表,我用它来跟踪日历事件,我需要一个循环来运行它,然后用它的值填充相关的单元格。工作表名称和相关范围是在google工作表中预先计算的,因此循环提取该数据,然后需要使用它来设置循环中的范围值及其值。现在,它提取图纸名称没有问题,但引发了一个范围错误,指出它不是有效的范围(我知道这就像我手动将其添加为3,17,1,1一样),它填充循环值sheetname上的正确单元格 那么,我能做些什么来从循环中得到范围值呢 函数UpdateUsersTracker(){ //日历详情()

所以我有一个复杂的谷歌表,我用它来跟踪日历事件,我需要一个循环来运行它,然后用它的值填充相关的单元格。工作表名称和相关范围是在google工作表中预先计算的,因此循环提取该数据,然后需要使用它来设置循环中的范围值及其值。现在,它提取图纸名称没有问题,但引发了一个范围错误,指出它不是有效的范围(我知道这就像我手动将其添加为3,17,1,1一样),它填充循环值sheetname上的正确单元格

那么,我能做些什么来从循环中得到范围值呢

函数UpdateUsersTracker(){
//日历详情();
var ss=SpreadsheetApp.getActive();
var sheet=ss.getSheetByName(“日历事件的副本”);
var VAL=sheet.getRange(“B14:B”).getValues();
var last=vals.filter(字符串).length+13;
var events=sheet.getRange('B14:T'+last.getValues();

对于Adelin正确回答的(var i=0;i,getRange不接受getRange(行、列、numRows、numColumns)这样的ReAge类型,仅适用于getRange(a1表示法)

来找出答案。这个
字符串也很奇怪。var
last
不应该是个问题,它只是用来获取包含数据的最后一行号,以确定var
事件的范围大小,但获取最后一行是一种不寻常的方式。为什么不使用内置的
getLastRow()
method?尝试使用
var last=sheet.getLastRow()
而不是当前的值。它返回相同的值,但在最终的getRange().setValue()上仍然失败由于找不到范围。工作表中范围值的日志在第一个实例中正确返回为3,17,1,1。我倾向于不使用getLastRow,因为您不能仅对一列执行此操作,我所做的很多操作都可能具有不同的列长度,因此getLastRow不足以解决问题。问题可能是在电子表格中。问题是,如果表示未找到范围
,该范围未找到,因此任何内容都将传递给
getRange()
方法-不正确。您可以使用
记录器自己调试它,也可以制作一份电子表格副本,让我们检查出了什么问题。正如我在注释中所述,实际上它接受这两种方法,但如果您只使用一个参数,它必须是一个注释。不过,很高兴您找到了解决方案。