【发布时间】:2021-09-24 07:05:52
【问题描述】:
问题说明
当前版本的脚本正在运行,但只有在手动输入数据时才会显示结果。我正在使用 onEdit 触发器。
- 有A列,显示从B列输入信息的时间和日期,B列的产品代码引用C列。如果我尝试将公式拖过B列以显示数据,那么不显示 A 列中的日期和时间。如何解决这个问题?
- 第一个表在工作表 1 上,结果数据需要在工作表 2 上复制。在这种情况下,我引用工作表 A 中所需的单元格,但如果显示 B 列和 C 列的数据则不显示 A 列(带时间戳)的输入日期。
- 如果下拉 B 列中的数据,则脚本不会对这些更改做出反应,因此,输入日期不会显示在 A 列中。
代码
var sheet = e.source.getActiveSheet();
var idCol = e.range.getColumn();
var idRow = e.range.getRow();
if ( idCol == 2 && sheet.getName() =='FB data' ) {
var Value = e.range.offset(0, -1).getValues();
if ( Value == "" ) {
var vartoday = getDate();
var varnow = getTime();
var time = new Date();
time = Utilities.formatDate(time, "GMT+03:00", "dd/MM/yyyy HH:mm:ss");
var r = e.range;
sheet.getRange(idRow, 1).setValue(varnow);
}
}
}
function getTime() {
var today = new Date();
today.setDate(today.getDate());
//return Utilities.formatDate(today, 'PST', 'yyyy.MM.dd');
return Utilities.formatDate(today, 'GMT+03:00', "dd/MM/yyyy HH:mm:ss");
}```
【问题讨论】:
-
不幸的是,Apps 脚本触发器的预期行为仅在手动编辑时触发 - 请参阅 Restrictions。
标签: google-apps-script timestamp google-sheets-formula