【发布时间】:2014-12-07 18:25:19
【问题描述】:
我目前正在编写电子表格的脚本。
期望的行为:当编辑单元格 F-I 时,最近编辑的日期应在相应行的单元格 L 中返回。
我找到了两个代码示例,第一个在编辑行中的任何字段时返回单元格 L 中的日期。这种行为是可以接受的,但并不理想,因为它适用于任何颜色
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
var r = s.getActiveCell();
if( r.getColumn() != 2 ) {
var row = r.getRow();
var time = new Date();
time = Utilities.formatDate(time, "GMT-05:00", "yyyy-MM-dd");
SpreadsheetApp.getActiveSheet().getRange('L'+row.toString()).setValue(time);
};
};
第二个应该将日期返回到已编辑列右侧的一个单元格。这种行为是不可取的,因为它可能会覆盖其他重要数据。
function onEdit(e) {
var s = SpreadsheetApp.getActiveSheet();
var cols = [1, 7, 13, 19, 25, 31]
if (s.getName() !== "Sheet1" || cols.indexOf(e.range.columnStart) == -1) return;
s.getRange(e.range.rowStart, e.range.columnStart + 1)
.setValue(new Date());
};
任何有关编辑这些以更接近预期结果的帮助或建议将不胜感激。谢谢!
【问题讨论】:
标签: date google-apps-script google-sheets