Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何触发谷歌电子表格功能OneEdit?_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 如何触发谷歌电子表格功能OneEdit?

Google apps script 如何触发谷歌电子表格功能OneEdit?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,如何使此函数触发onEdit 我在床单上试过这个 function oneWeek() { var sheetURL = SpreadsheetApp.getActive().getUrl() var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0]); var sheet = spreadsheet.getA

如何使此函数触发onEdit

我在床单上试过这个

function oneWeek() {

  var sheetURL = SpreadsheetApp.getActive().getUrl()
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0]);
  var sheet = spreadsheet.getActiveSheet();

  // do stuff with sheet

}
编辑:我忘了提到我的脚本执行了https请求,所以这就是OneEdit无法工作的原因。解决方案如下:

由于此脚本执行其他操作,如HTTP请求,因此无法将其分配给默认的onEdit()函数,因此需要将其创建为自定义函数,并在“编辑”菜单中进行分配。编辑->当前项目触发器并为OneEdit创建一个新的触发器。只要把它指向你的函数,你就完成了


直接来自文档:当用户更改电子表格中的值时,OneEdit(e)运行。-如果用户对任何工作表上的任何单元格进行任何更改,它将运行。您可以通过返回任何工作表来限制运行该函数的时间,但不包括要在其上运行该函数的工作表。注意:您不能通过在脚本编辑器中运行onEdit(e)来测试它。
function onEdit(event) { 

  var sheet = event.source.getSheetByName('x'); 
  // do stuff with sheet

}
function onEdit(e){
if(e.range.getSheet().getName()!='x'){return;}
//do stuff on sheet x here
}