在 Google 工作表脚本中设置活动单元格的值
Set value of active cell in Google sheets script
我想创建一个公式,在某个单元格更改时创建时间戳。下面的代码就可以了。我现在想做的是通过将公式转换为纯文本来将该时间戳锚定到 sheet。
如果您手动执行此操作,您会 select 时间戳,复制它们并将它们粘贴为值。
我不想手动执行,所以我创建了下面的脚本。它试图覆盖当前的活动单元格。有人知道如何让它工作吗?
谢谢
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);
}
下面的脚本怎么样?当函数名是"onEdit()"时执行。并且电子表格的编辑单元格更改为 "date".
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);
}
}
我想创建一个公式,在某个单元格更改时创建时间戳。下面的代码就可以了。我现在想做的是通过将公式转换为纯文本来将该时间戳锚定到 sheet。
如果您手动执行此操作,您会 select 时间戳,复制它们并将它们粘贴为值。
我不想手动执行,所以我创建了下面的脚本。它试图覆盖当前的活动单元格。有人知道如何让它工作吗?
谢谢
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);
}
下面的脚本怎么样?当函数名是"onEdit()"时执行。并且电子表格的编辑单元格更改为 "date".
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);
}
}