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_Google Sheets_Range_Defined - Fatal编程技术网

Google apps script 未定义范围错误

Google apps script 未定义范围错误,google-apps-script,google-sheets,range,defined,Google Apps Script,Google Sheets,Range,Defined,这是我试图运行的谷歌表单中的脚本 你能就这个错误给出一些建议吗 function myFunction() { //IF target range D23 is edited... // if (range.getRow()!=23 || range.getColumn()!=4) return; //Set B23 to current date and time // range.offset(0,-2,1,1).setValue(new Date()); //Clear range

这是我试图运行的谷歌表单中的脚本

你能就这个错误给出一些建议吗

function myFunction() {
//IF target range D23 is edited...
//
  if (range.getRow()!=23 || range.getColumn()!=4) return;
//Set B23 to current date and time
//
  range.offset(0,-2,1,1).setValue(new Date());
//Clear range B37:T37
//
  range.offset(14,-2,1,19).clearContent();//<<<not really necessary
//Copy range B23:T36
//Paste to range B24:T37
//
  range.offset(0,-2,14,19).copyTo(range.offset(1,0));
//Clear range B23:T23
  range.offset(0,0,1,19).clearContent();
}
函数myFunction(){
//如果目标范围D23已编辑。。。
//
if(range.getRow()!=23 | | range.getColumn()!=4)返回;
//将B23设置为当前日期和时间
//
range.offset(0,-2,1,1).setValue(新日期());
//净量程B37:T37
//

range.offset(14,-2,1,19).clearContent();//也许您的函数应该如下所示:

function myFunction(e) {
  if (e.range.getRow()!=23 || e.range.getColumn()!=4) return;
  e.range.offset(0,-2,1,1).setValue(new Date());
  e.range.offset(14,-2,1,19).clearContent();
  e.range.offset(0,-2,14,19).copyTo(e.range.offset(1,0));
  e.range.offset(0,0,1,19).clearContent();
}
在这一行

if (range.getRow()!=23 || range.getColumn()!=4) return;
您试图从范围变量获取行和列,但尚未定义该变量

这就是它抛出错误的原因

您必须先定义
范围
,然后才能尝试使用它

如果您是基于某个触发器运行此函数,那么您可能可以像这样从事件对象获取范围

function functionName(eventObject) {
    var range = eventObject.range;
    //Your other code follows below
}
否则,您也可以使用:
getRange()

参考资料:


错误发生在哪一行?因此这看起来像是一个OneEdit函数,但没有包含事件参数。范围是e.range。