google-script getRange()停止工作

时间:2013-11-19 13:10:54

标签: google-apps-script

以下几行没有错误,直到今天早上似乎改变了行为。

var update_row = stockSheet.getRange("D2").getValue();
var stock_line_clear_E = stockSheet.getRange("E:G" + update_row);

现在,在仍然选择E列到G的同时,update_row的值被忽略,所有行都被后面的setValue(")重置。

我已将其更改为范围的三个单独的行,但这似乎是错误的。任何人现在为什么这会工作几个月然后改变? API更新是我在想什么?

1 个答案:

答案 0 :(得分:0)

您的问题并不完全清楚您要为stock_line_clear_E选择哪些单元格,因此以下是一些选项:

  • 如果您只想在一行中选择EG列中的单元格,请使用:

    var stock_line_clear_E = stockSheet.getRange("E" + update_row + ":G" + update_row);
    

    这是变量名称隐含的范围。

  • 如果您希望从1到update_row的所有行,请使用:

    var stock_line_clear_E = stockSheet.getRange("E1:G" + update_row);
    

    这相当于"E:G<update_row>",这是您的代码之前构建的内容。

但是,对于A1符号的解释肯定存在一些错误。在电子表格中播放,您可以看到"E:G""E5:G7"和“”E1:G7“都按预期工作,但"E:G7"没有。

Bad sheet happening

在调试器中,我们可以确认请求的范围不是返回的范围。

More bad sheet.

修改:访问并加注明星Issue 3422