Javascript 如何在编辑Google Sheets单元格的行时将其自动设置为当前日期?
我有一个谷歌电子表格,每当我编辑尚未设置日期的行时,我想自动设置“日期”单元格的值。就我所知的GoogleSheetsAPI和GoogleScript的工作原理而言,我认为这应该可以工作,但它甚至从未设置调试单元我做错了什么?Javascript 如何在编辑Google Sheets单元格的行时将其自动设置为当前日期?,javascript,google-sheets,spreadsheet,Javascript,Google Sheets,Spreadsheet,我有一个谷歌电子表格,每当我编辑尚未设置日期的行时,我想自动设置“日期”单元格的值。就我所知的GoogleSheetsAPI和GoogleScript的工作原理而言,我认为这应该可以工作,但它甚至从未设置调试单元我做错了什么? /** * Automatically puts the current date in the first column of the edited row */ function onEdit(event){ var sheet = event.source.
/**
* Automatically puts the current date in the first column of the edited row
*/
function onEdit(event){
var sheet = event.source.getActiveSheet();
var debugCell = sheet.getCell(10,10);
debugCell.setValue("DEBUG CELL"); // if anything works, this should show up... but it doesn't :C
var editedCell = sheet.getActiveCell();
var dateCol = 0;
var dateCell = sheet.getCell(editedCell.getRow(), dateCol);
debugCell.setValue(editedCell.getColumn());
if(!dateCell.getValue() && editedCell.getColumn() != dateCol){
dateCell.setValue(new Date());
}
}
我想你没有设置触发器。在脚本编辑器中,转到资源->当前项目的触发器 选择您的函数名(在本例中为
onEdit
),并从电子表格中将事件设置为
保存它,你就完成了
已编辑的解决方案
好的,你的代码也有问题。早些时候我错过了
是类的函数,而不是类的函数。你应该改用。下面是一个应该可以工作的代码。您可以根据需要进行编辑
function onEdit(event){
var sheet = event.source.getActiveSheet();
var debugCell = sheet.getRange(10,10);
debugCell.setValue("DEBUG CELL"); // if anything works, this should show up... but it doesn't :C
var editedCell = sheet.getActiveCell();
var dateCol = 1;
var dateCell = sheet.getRange(editedCell.getRow(), dateCol);
debugCell.setValue(editedCell.getColumn());
if(!dateCell.getValue() && editedCell.getColumn() != dateCol){
dateCell.setValue(new Date());
}
}