在Google Spreadsheet中插入时间戳

时间:2018-08-28 11:54:05

标签: google-sheets timestamp

我想在整个工作表中进行任何编辑,将当前数据和时间添加到特定列中。我试图编写一个脚本,并获得了一些成功,但是无法获得预期的结果。

当我运行以下脚本时,它将时间戳记插入下一列,但我想将时间戳记插入特定列,例如D列。

第二,它仅在我更改单元格中的值时才有效,但是当我还要更改单元格的颜色时,我也想添加时间戳。

function onEdit() {

  var s = SpreadsheetApp.getActiveSheet();

  if( s.getName() == "Sheet1" ) { //checks that we're on the correct sheet

    var r = s.getActiveCell();

    if( r.getColumn() ) { //checks the column

      var nextCell = r.offset (0,1) ;

     // if( nextCell.getValue() === '' ) //is empty?

        nextCell.setValue(new Date() );
    }
  }
}

请帮助我获得理想的结果。

1 个答案:

答案 0 :(得分:0)

如果要在特定列(例如D列)中插入时间戳记,

function onEdit() {

  var s = SpreadsheetApp.getActiveSheet();

  if( s.getName() == "Sheet1" ) { //checks that we're on the correct sheet

    var r = s.getActiveCell();

    if( r.getColumn() ) { //checks the column

      var nextCell = s.getRange('D' + r.getRow()); // change D to any column needed

      // if( nextCell.getValue() === '' ) //is empty?

      nextCell.setValue(new Date() );
    }
  } 
}

注意:

  •   
        

    onEdit(e) 在用户更改电子表格中的值时运行。

      
  • 测试显示onEdit在更改单元格边框时运行
  • onEdit在更改颜色,更改字体后不运行。