时间戳脚本由两个不同的工作表激活,但不应

时间:2019-05-15 11:11:56

标签: javascript

问题是我找到了一个非常适合我的脚本。 因此,假设我要编辑A列,它会在B列中显示时间戳,这很好。 但是以其他方式,如果我还要在第二张工作表中编辑A列,那么它将在第一张工作表的B列中放置时间戳。 如果您正在使用另一张纸,您有什么想法如何防止激活时间戳?

请看一下我正在使用的脚本。

function onEdit(event)
{ 
  var timezone = "GMT+1:00";
  var timestamp_format = "HH:mm dd/MM/yyyy"; // Timestamp Format. 
  var updateColName = "Part No.";
  var timeStampColName = "Raised";
  var sheet = event.source.getSheetByName('Fill in List'); //Name_of_the_sheet_where_you_want_to_run_this_script.


  var actRng = event.source.getActiveRange();
  var editColumn = actRng.getColumn();
  var index = actRng.getRowIndex();
  var headers = sheet.getRange(1, 1, 1, 
sheet.getLastColumn()).getValues();
  var dateCol = headers[0].indexOf(timeStampColName);
  var updateCol = headers[0].indexOf(updateColName); updateCol = 
updateCol+1;
  if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only_timestamp_if_'Last Updated'_header_exists,_but_not_in_the_header_row_itself!
    var cell = sheet.getRange(index, dateCol + 1);
    var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
cell.setValue(date);
 }
}

0 个答案:

没有答案