當您安裝上編輯觸發,你的函數被傳遞的開始和結束的行和列。但沒有編輯哪張表。
當然,我的第一個想法是搶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)]]);
}
如何,我可以得到表編輯?這是我的錯誤還是這是一個錯誤?或者他們在做事件處理方面的缺陷?