当您安装上编辑触发,你的函数被传递的开始和结束的行和列。但没有编辑哪张表。
当然,我的第一个想法是抢SpreadsheetApp()。getActiveSheet()但不起作用。
编辑示例电子表格中的任何单元格。已安装的在编辑触发器将为Sheet1填充值,告诉您所编辑的内容。现在切换到工作表2或工作表3并编辑一些东西。它总是报告Sheet1已被编辑。
触发代码:
function my_on_edit(e) {
//the object passed in, e, doesn't know what sheet was edited. Really!
var ss = SpreadsheetApp.getActiveSpreadsheet();
var spreadsheetname = ss.getName();
var thesheet = ss.getActiveSheet();
var sheetname = thesheet.getName();
//Tell us what was edited, please.
ss.getSheetByName("Sheet1").getRange("A2:E2").setValues([[ spreadsheetname, sheetname, e.range.rowStart, e.range.columnStart, Utilities.jsonStringify(e)]]);
}
如何,我可以得到表编辑?这是我的错误还是这是一个错误?或者他们在做事件处理方面的缺陷?