editedSheet.getName()
是一个字符串。
SHEET_NAME
是一个数组。这些永远都不平等(
===
)
使用
SHEET_NAME.indexOf(editedSheet) != -1
,因为
Array.indexOf()
将返回
-1
如果不存在。
更新的代码(复数
板名
到
SHEET_NAMES
):
function onEdit(e) {
var COLUMN_TO_CHECK = [1,4,5]; // The columns to check if something is entered. (Columns A & B)
var DATE_TIME_COLUMN = 13; // Where you want the date time stamp (Column C)
var SHEET_NAMES = ["User1", "User2", "User3"]; // Sheet you are working on
var editedCell = e.range;
var editedSheet = e.range.getSheet();
if (SHEET_NAMES.indexOf(editedSheet.getName()) != -1) {
if (COLUMN_TO_CHECK.indexOf(editedCell.getColumn()) != -1) {
var allFilled = true;
var editedRow = editedCell.getRow();
for (var i in COLUMN_TO_CHECK) {
if (editedSheet.getRange(editedRow, COLUMN_TO_CHECK[i]).getValue() == "") {
allFilled = false;
}
}
if (allFilled) {
editedSheet.getRange(editedRow,DATE_TIME_COLUMN).setValue(new Date());
}
}
}
}