在Google表格脚本中设置活动单元格的值

时间:2017-01-27 08:09:24

标签: javascript google-sheets google-drive-api google-spreadsheet-api

我想创建一个公式,为某个单元格更改创建时间戳。下面的代码是可以的。我现在要做的是通过将公式转换为纯文本将时间戳锚定到工作表。

如果你手动完成,你可以选择时间戳,复制它们并将它们粘贴为值。

我不想手动执行此操作,因此我在下面创建了该脚本。它试图覆盖当前活动的单元格。有没有人知道如何让这个工作?

由于

function cvTimestamp(value) {
  var timezone = "GMT+1";
  var timestamp_format = "dd-MM-yyyy HH:mm:ss"; // Timestamp Format. 


  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];


  var date = Utilities.formatDate(new Date(), timezone, timestamp_format);

  return date

  // Returns the active cell
  var cell = sheet.getActiveCell();
  // try to write date to the active cell as a value.
  cell.setValue(date);

}

1 个答案:

答案 0 :(得分:1)

以下脚本怎么样?当函数名称为“onEdit()”时,执行此操作。电子表格的已编辑单元格将更改为“日期”。

function onEdit(e){
  var row = e.range.getRow();
  var col = e.range.getColumn();
  if (row == 3 && col == 3){ // You can freely define the range for putting DATE. 
    var timezone = "GMT+1";
    var timestamp_format = "dd-MM-yyyy HH:mm:ss";
    var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
    var col = 5; // If you want to put a value to colmun 'E' of editing cell, col is 5.
    var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    ss.getRange(e.range.getRow(), col).setValue(date);
  }
}