【发布时间】:2018-12-29 15:57:44
【问题描述】:
我基本上是在尝试制作一个脚本,当单元格C4 被更改或编辑时,它将变量“日期”返回到单元格L4。
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var date = Utilities.formatDate(new Date(), "GMT+1", "yyyy/MM/dd");
var cellAddress = e.range.getA1Notation();
if ( CellAdress === 'C4' ) {
var range = sheet.getActiveSheet().getRange('L4');
var nrange = sheet.setActiveRange(range);
nrange = date
}
}
我知道最后一部分不起作用,但我无法弄清楚如何正确使用这些功能,一直在寻找一段时间,但找不到与使功能更改单元格精确相关的任何内容.
【问题讨论】:
-
因为变量名区分大小写,“cellAdress”与“CellAddress”不同。 “CellAdress”未定义,因此不能等于“C4”。您通过 sheet.getRange(A1Notation) 获取范围,并通过调用 range.setValue(value) 在单个单元格中设置值
-
@AntonDementiev 感谢您指出我看不到的明显情况。我已尝试应用您的修复程序,但它仍然无法正常工作。我开始拔头发,因为我不知道哪个是错的。虽然我认为这可能与这一行有关:var cellAddress = sheet.getRange.getA1Notation();
-
您可能会受益于使用笔和纸来描述您的脚本(或以其他方式向无生命的对象详细解释它)。逐段遍历(句点和控制字符是很好的分段分隔符)并描述那段是什么:原始值?一个类实例?类对象的方法?引用原始对象或类对象的变量?查看 Apps 脚本参考文档也是一个好主意(包括讨论提供给简单触发器函数的事件对象的页面,例如
onEdit)
标签: javascript datetime google-apps-script google-sheets