以编程方式添加时间戳

Add a timestamp programmatically

本文关键字:时间戳 添加 方式 编程      更新时间:2023-09-26

我正在尝试为Google电子表格创建一个代码。在VBA代码中,它非常简单。我的目标是,当一个特定的单元格被填充时,另一个单元格显示完成的日期和时间。

在VBA中:

Function DateTime()
  DateTime = NOW
End Function

根据您最近的评论,您希望从Google Sheet前端调用自定义函数,您在脚本编辑器(后端)中只需要:

function timeStamp() {
  return new Date();
}

然后,您可以从工作表中的公式中调用该函数,与您已经编写的内容非常相似:

=IF( ISBLANK(A1), "", timeStamp() )

这是将帮助您实现目标的代码。

下面的代码将在您要输入值的字段的下一列中添加日期。

//onEdit is the default "on edit event handler" provided by google app script
function onEdit(e){
  var spreadSheet = e.source;
  var sheet = spreadSheet.getActiveSheet();
  var range = e.range;
  //only add the date in the next column if value in cell is not empty
  if(range.getValue() != ""){
    var col = range.getColumn();
    var row = range.getRow();
    //get the very next column
    var newRange = sheet.getRange(row, col + 1);
    newRange.setValue(new Date());
  }
}

希望这会有所帮助。

注意:请注意,此代码仅适用于绑定到谷歌应用程序的脚本