Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
Javascript 对这个自动时间戳脚本进行编码,它只在第6-30行工作,从未定义过有限的单元格范围?_Javascript_Google Sheets_Issue Tracking - Fatal编程技术网

Javascript 对这个自动时间戳脚本进行编码,它只在第6-30行工作,从未定义过有限的单元格范围?

Javascript 对这个自动时间戳脚本进行编码,它只在第6-30行工作,从未定义过有限的单元格范围?,javascript,google-sheets,issue-tracking,Javascript,Google Sheets,Issue Tracking,按照一个教程创建一个时间戳脚本,它可以工作,但只从第6-30行开始填充,但我从未在脚本中定义它,这对编码来说是非常新的,我不知道为什么这个脚本会有一些奇怪的范围限制 对于您的问题,我真的不知道该说些什么,从我的测试来看,您的代码在每一行都运行良好。每当我修改J(第10列)中的一行时,它都会更新M(第13列) 关于您的另一个问题,很容易得到您不想修改的行列表,并使用它检查列表是否不在范围内 function onEdit(e) { addTimestamp(e); } function ad

按照一个教程创建一个时间戳脚本,它可以工作,但只从第6-30行开始填充,但我从未在脚本中定义它,这对编码来说是非常新的,我不知道为什么这个脚本会有一些奇怪的范围限制


对于您的问题,我真的不知道该说些什么,从我的测试来看,您的代码在每一行都运行良好。每当我修改
J
(第10列)中的一行时,它都会更新
M
(第13列)

关于您的另一个问题,很容易得到您不想修改的行列表,并使用它检查列表是否不在范围内

function onEdit(e) {
  addTimestamp(e);
}

function addTimestamp(e){
  //variables
  var startRow = 3;
  var targetColumn = 13;
  var ws = "Refi";
  var protectedRows = [28, 49]; // Added variable

  //get modified row and column
  var row = e.range.getRow();
  var col = e.range.getColumn();

  if(col === 10 && row >= startRow && e.source.getActiveSheet().getName() === ws
    && protectedRows.indexOf(row) == -1){

    var currentDate = new Date();
    e.source.getActiveSheet().getRange(row,13).setValue(currentDate);
  } // END ID check column, row, worksheet

} // END function addTimestamp
当然,为了向您展示我已经硬编码了我不想对其采取行动的行。如果这对你的案子有效,那太好了。如果没有,只需更改获取行号的方式,行号可能存储在某个位置,或者直接从工作表中检索

最后我得到了这样的东西:


我真的不知道该怎么说您的问题,从我的测试来看,您的代码在每一行都运行良好。每当我修改
J
(第10列)中的一行时,它都会更新
M
(第13列)

关于您的另一个问题,很容易得到您不想修改的行列表,并使用它检查列表是否不在范围内

function onEdit(e) {
  addTimestamp(e);
}

function addTimestamp(e){
  //variables
  var startRow = 3;
  var targetColumn = 13;
  var ws = "Refi";
  var protectedRows = [28, 49]; // Added variable

  //get modified row and column
  var row = e.range.getRow();
  var col = e.range.getColumn();

  if(col === 10 && row >= startRow && e.source.getActiveSheet().getName() === ws
    && protectedRows.indexOf(row) == -1){

    var currentDate = new Date();
    e.source.getActiveSheet().getRange(row,13).setValue(currentDate);
  } // END ID check column, row, worksheet

} // END function addTimestamp
当然,为了向您展示我已经硬编码了我不想对其采取行动的行。如果这对你的案子有效,那太好了。如果没有,只需更改获取行号的方式,行号可能存储在某个位置,或者直接从工作表中检索

最后我得到了这样的东西:


您是否可以扩展一下您所说的
仅从第6-30行填写
。你对你的剧本有什么期待?我看不出您的代码有任何错误,当您修改的单元格位于第10列且高于3行时,它将更新第13列正在修改的行。试着准确地解释你想要什么,这样我们就可以继续帮助你了。它只将日期打印到第6-30单元格的第13列,即使我没有碰任何东西,我也只是继续,现在它不会在任何单元格中发布日期。它只将日期打印到第6-30单元格的第13列,即使我没有碰任何东西,我刚上车,现在它不会在任何单元格中发布日期。我的目标是让第10列a notes列在每次编辑单元格时自动在第13列中创建一个时间戳。理想情况下,我需要一个代码示例来排除某些行,因为有些行是组织的分隔符,我不希望这些行创建I时间戳,因为现在我只使用protect range选项来保护这些行。这些信息够了吗?对不起,我不太擅长解释这些东西。我还不太明白其中的大部分内容。你可以把你所说的
扩展一下吗?只填第6-30行的
。你对你的剧本有什么期待?我看不出您的代码有任何错误,当您修改的单元格位于第10列且高于3行时,它将更新第13列正在修改的行。试着准确地解释你想要什么,这样我们就可以继续帮助你了。它只将日期打印到第6-30单元格的第13列,即使我没有碰任何东西,我也只是继续,现在它不会在任何单元格中发布日期。它只将日期打印到第6-30单元格的第13列,即使我没有碰任何东西,我刚上车,现在它不会在任何单元格中发布日期。我的目标是让第10列a notes列在每次编辑单元格时自动在第13列中创建一个时间戳。理想情况下,我需要一个代码示例来排除某些行,因为有些行是组织的分隔符,我不希望这些行创建I时间戳,因为现在我只使用protect range选项来保护这些行。这些信息够了吗,对不起,我不太擅长解释这些东西,我还不太懂。