Javascript 当前时间脚本在Google文档中不工作
谷歌文档在前面的两列中进行编辑时,应该按照当前时间进行更新 因此,如果编辑了B列或C列,则D列将随当前时间更新Javascript 当前时间脚本在Google文档中不工作,javascript,google-apps-script,Javascript,Google Apps Script,谷歌文档在前面的两列中进行编辑时,应该按照当前时间进行更新 因此,如果编辑了B列或C列,则D列将随当前时间更新 function updateDate() { var s = SpreadsheetApp.getActive().getSheetByName("Daily"); var active_sheet = SpreadsheetApp.getActive().getActiveSheet().getName(); var active_col = s.getActive
function updateDate() {
var s = SpreadsheetApp.getActive().getSheetByName("Daily");
var active_sheet =
SpreadsheetApp.getActive().getActiveSheet().getName();
var active_col = s.getActiveCell().getColumn();
var active_row = s.getActiveCell().getRow();
var target_rows = [1, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19,
20];
var target_cols = [2, 3]
var row_in_range = target_rows.indexOf(active_row) == -1 ? false :
true; Logger.log(row_in_range);
var col_in_range = target_cols.indexOf(active_col) == -1 ? false :
true; Logger.log(col_in_range);
if (row_in_range && col_in_range) {
s.getRange(active_row, 4).setValue(new Date);
s.getRange(active_row, 5).setValue(new Date);
}
}
没有从Stackdriver日志中获取错误,但该错误不起作用。目标:
当编辑B列或C列时,在相应行中写入时间戳的函数
解决方案: 这就是你真正需要的。这是一个小脚本,每当编辑工作表时,它将使用一个简单的
onEdit
触发器自动运行。它所做的只是检查使用事件对象编辑的列,然后在列D中写入时间戳
注意:您将无法手动运行此代码,它在编辑工作表时自动运行。
function onEdit(e) {
var sh = e.source.getActiveSheet();
var col = e.range.getColumn();
if ((col === 2 || col === 3) === true) {
var row = e.range.getRow();
sh.getRange(row, 4).setValue(new Date());
}
}
参考资料:
active\u sheet
,可能需要var active\u sheet=SpreadsheetApp.getActive().getActiveSheet()代码>和var active\u col=active\u sheet.getActiveCell().getColumn()代码>等等?另外,什么时候调用该函数?您是否将其设置为事件处理程序?(JavaScript和Java也是两种非常不同的语言)为什么要用Java标记它?难道你不知道你正在编程的语言的名称吗?OneEdit脚本的函数起作用了!非常感谢。嗨,JoeleNeLAMA,如果这个答案解决了你的问题,请点击检查标记来考虑。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。