我在这里有点头疼。在过去的半年里,我一直在使用下面的代码来检测 Google 表格中的编辑,标记日期,然后按日期从最旧到最新对我的表格进行排序:
function onEdit(e) {
bidTime(e)
}
function bidTime(e) {
var sheet = e.source.getActiveSheet(); //gets the active sheet being edited
var sheetName = 'Active Bids'; //name of the sheet the script should work on
var editCell = sheet.getActiveCell(); //gets the active cell being edited
var colToWatch = 3 // watches for edits made in col C
var colToStamp = 4 //timestamp in col D
if (e.range.columnStart !== colToWatch || e.source.getActiveSheet()
.getName() !== sheetName || e.value == '') return; {
var writeVal = e.value !== '0' ? new Date() : "No bid.";
e.source.getActiveSheet()
.getRange(e.range.rowStart, colToStamp)
.setValue(writeVal);
}
function bidSort() {
var colSort = 5;
var tableRange = "A2:Z150";
if (editCell.getColumn() == colToWatch){
var range = sheet.getRange(tableRange);
range.sort( {column: colSort, ascending: true} );
}
}
//function bidAmount() {
// var value = editCell.getValue();
// if (editCell.getColumn() == colToWatch AND value <= 0) return; {
//}
bidSort();
}
直到今天下午它一直在完美地工作,我正在修改 bidAmount 函数,我不知道它是否对我的代码做了什么(我看不出怎么做?)但现在我的工作表在应用后不再排序日期戳到第 4 列。
我已经尝试将 bidSort 函数分解为它自己的函数,并将这两个函数合并到 onEdit 函数中,但似乎都没有做任何事情。我还尝试在 bidSort 函数中再次定义变量(在今天下午之前没有必要),但仍然没有骰子。
我确实对所引用的电子表格进行了一些主要的外观更改,并在电子表格中添加了另一张工作表,但我不明白为什么这些事情会影响我的代码。
有谁知道会发生什么?代码实际上几个月没有改变,今天才开始给我带来问题。
如果您需要任何进一步的信息,请告诉我!