【发布时间】:2017-03-25 07:59:16
【问题描述】:
我正在尝试使用 google sheet 脚本编辑器创建自定义 onEdit 函数。我想知道是否可以添加诸如 onEdit(e,row) 之类的输入参数,其中 row 是我用来指定目标单元格的整数。这是我的菜鸟代码:
function onEdit(e,row) {
// writes the current date to the cell in column B on the same row when a cell in a specific column is edited
var sheetNameToWatch = "M2";
var columnNumberToWatch = /* column */ 7; // column A = 1, B = 2, etc.
var ss = SpreadsheetApp.getActiveSpreadsheet(); // not used atm
var sheet = SpreadsheetApp.getActiveSheet(); // sheet on which changes are tracked
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("GRID-TRACKING") // sheet that contains formula cells
var range = sheet.getActiveCell(); // active cell is cell being edited
if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch) {
var targetCell = sheet2.getRange(row, 2); // I want the input parameter to control the "row" so I can autofill
targetCell.setValue("" + Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd")); // writes current date to cell
}
}
我正在使用它来将工作表“M2”列 G 上任何编辑的最新日期写入带有公式(“GRID-TRACKING”)的工作表。我将公式放在 A 列中并将日期写入 B 列。问题是我的“行”变量未定义......如果我用固定数字替换它并且根本不尝试添加参数它工作正常,但我需要一个可以自动填充的参数。
在单元格中我的公式是 =onedit(cell,row)
谢谢,
郁闷
【问题讨论】:
-
您不能将任何其他参数输入到 onEdit。你只是希望它发生在同一行吗?为什么不使用通过的event object?
-
阅读 onEdit 文档,了解它的用途。
标签: google-apps-script google-sheets