Javascript 如何在编辑Google Sheets单元格的行时将其自动设置为当前日期?

Javascript 如何在编辑Google Sheets单元格的行时将其自动设置为当前日期?,javascript,google-sheets,spreadsheet,Javascript,Google Sheets,Spreadsheet,我有一个谷歌电子表格,每当我编辑尚未设置日期的行时,我想自动设置“日期”单元格的值。就我所知的GoogleSheetsAPI和GoogleScript的工作原理而言,我认为这应该可以工作,但它甚至从未设置调试单元我做错了什么? /** * Automatically puts the current date in the first column of the edited row */ function onEdit(event){ var sheet = event.source.

我有一个谷歌电子表格,每当我编辑尚未设置日期的行时,我想自动设置“日期”单元格的值。就我所知的GoogleSheetsAPI和GoogleScript的工作原理而言,我认为这应该可以工作,但它甚至从未设置调试单元我做错了什么?

/**
 * Automatically puts the current date in the first column of the edited row
 */
function onEdit(event){
  var sheet = event.source.getActiveSheet();
  var debugCell = sheet.getCell(10,10);
  debugCell.setValue("DEBUG CELL"); // if anything works, this should show up... but it doesn't :C

  var editedCell = sheet.getActiveCell();
  var dateCol = 0;
  var dateCell = sheet.getCell(editedCell.getRow(), dateCol);

  debugCell.setValue(editedCell.getColumn());

  if(!dateCell.getValue() && editedCell.getColumn() != dateCol){   
    dateCell.setValue(new Date());
  }
}

我想你没有设置触发器。在脚本编辑器中,转到资源->当前项目的触发器 选择您的函数名(在本例中为
onEdit
),并从电子表格中将
事件设置为

保存它,你就完成了

已编辑的解决方案 好的,你的代码也有问题。早些时候我错过了

是类的函数,而不是类的函数。你应该改用。下面是一个应该可以工作的代码。您可以根据需要进行编辑

function onEdit(event){
  var sheet = event.source.getActiveSheet();
  var debugCell = sheet.getRange(10,10);
  debugCell.setValue("DEBUG CELL"); // if anything works, this should show up... but it doesn't :C

  var editedCell = sheet.getActiveCell();
  var dateCol = 1;
  var dateCell = sheet.getRange(editedCell.getRow(), dateCol);

  debugCell.setValue(editedCell.getColumn());

  if(!dateCell.getValue() && editedCell.getColumn() != dateCol){   
    dateCell.setValue(new Date());
  }
}