【发布时间】:2018-05-05 19:05:05
【问题描述】:
function oneWeek() {
var sheetURL = SpreadsheetApp.getActive().getUrl()
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0]);
var sheet = spreadsheet.getActiveSheet();
// do stuff with sheet
}
如何让这个函数触发 onEdit?
我已经在工作表上试过这个,
function onEdit(event) {
var sheet = event.source.getSheetByName('x');
// do stuff with sheet
}
编辑:我忘了提到我的脚本做了 https 请求,所以这就是 onEdit 不起作用的原因。解决方法在这里:https://productforums.google.com/forum/#!topic/docs/0nxLYWXVo6Y
因为此脚本执行其他操作,例如 HTTP 请求,所以无法将其分配给默认的 onEdit() 函数,您需要将其创建为自定义函数并在 Edit 菜单中分配。 Edit->Current Project Triggers 并为 onEdit 创建一个新的。只需将其指向您的函数即可。
【问题讨论】:
-
直接来自文档:onEdit(e) 在用户更改电子表格中的值时运行。 - 如果用户对任何工作表上的任何单元格进行任何更改,它将运行。您可以通过返回任何工作表来限制运行该函数的时间,除了您希望它在其上运行的工作表。注意:您不能通过在脚本编辑器中运行 onEdit(e) 来测试它。Reference
标签: google-apps-script google-sheets