【发布时间】:2019-07-02 04:58:01
【问题描述】:
我正在创建一个必须由不同人填写的共享议程。每次他们修改某个单元格时,都会在同一行的另一个单元格中报告更改日期(天)。下面的代码目前正在运行,但有 3 个小问题:
- 当地时间不正确(我住在意大利)
- 我也想看看时间(小时:分钟)
- 如果修改后的单元格被清除(如文本被删除),更改日期也会消失。
我发现这种类型的代码很难调试,希望能提供任何帮助。 提前谢谢你,
function onEdit(event) {
var cell = event.source.getActiveCell();
var sheet = cell.getSheet();
var headers= sheet.getDataRange().getValues()[0];
var statusCol = headers.indexOf('Status') + 1 ;
var ss = event.source.getActiveSheet();
if (event.range.columnStart != 2) {
} else {
ss.getRange(event.range.rowStart, 5)
.setValue(getDate(new Date()));
}
var tt = event.source.getActiveSheet();
if (event.range.columnStart != 34) {
return;
} else {
tt.getRange(event.range.rowStart, 37)
.setValue(getDate(new Date()));
}
}
function getDate(d) {
if (d) {
return d.getDate() + "/" + (d.getMonth()+1) + "/" + d.getYear();
}
}
【问题讨论】:
-
您是否在此处缺少
return;if (event.range.columnStart != 2) { //here } else { ss.getRange(event.range.rowStart, 5) .setValue(getDate(new Date())); } -
这个问题太宽泛了,因为每个点都有自己的答案。
标签: datetime google-apps-script google-sheets timestamp