我将此onEdit()函数限制为在某些工作表的第一列中进行修改。我的问题是,当我在onEdit()范围外按“撤消”或“ Ctrl + Z”时,“撤消”会触发该函数并使用.clearContent()清除某些行。
为什么“撤消”这样做?我没有修改第一列。日志如下所示:
[18-10-03 10:41:09:166 VET] onEdit
[18-10-03 10:41:09:167 VET] event {authMode=LIMITED, range=Range, source=Spreadsheet, user=name.lastname@company.com} - A3:A22 - true
这是我的功能:
function onEdit(e){
init()
if (e.range.getSheet().getName() == htSheet.getName()) {
if ((e.range.getColumn() == 1) && (e.range.getRow() >= StartRowHT) && (typeof e.value == "string")){
Logger.log("fired")
onSelectTask(e)
} else if ((e.range.getColumn() == 1) && (typeof e.value != "string")){
//clean row
var rowIndex = e.range.getRow()
range1 = "B" + rowIndex + ":G" + rowIndex
range2 = "I" + rowIndex + ":ZZ" + rowIndex
htSheet.getRangeList([range1, range2]).clearContent()
}
Logger.log("onEdit")
Logger.log("event %s - %s - %s", e, e.range.getA1Notation(), typeof e.value != "string")
}
}
function init() {
taskRange = htSheet.getRange(StartRowHT, 1, (calendar.getLastRow() - StartRowCal + 1))
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sheetname.getRange("H4:H1000"), true).build()
taskRange.setDataValidation(rule)
}
预先感谢您的帮助。