在其中一个工作表选项卡中执行排序时,Google应用程序脚本onchange(E)触发器不会给我提供正确的活动工作表名称

人气:516 发布:2022-10-16 标签: google-apps-script google-sheets google-sheets-api spreadsheet

问题描述

function onChange(e){
  //sorting in a sheet triggers onChange(e) with e.changeType=='OTHER'
  if(e.changeType()=='OTHER') {
    //Here e.source.getActiveSheet() gives me wrong active sheet.
    //I need to get the activesheet in which sorting is performed
 }

推荐答案

这似乎是一个错误:

如果用户通过sorting & filtering data(创建筛选器、修改它、排序等)触发onChange trigger,SpreadsheetApp.getActiveSheet()和Spreadsheet.getActiveSheet()在onChange trigger中调用时始终返回电子表格中的第一个工作表,即使该工作表不是活动工作表。

其他changeTypes(REMOVE_GRIDINSERT_ROW等)返回活动工作表。

我在问题跟踪器中提交了一个错误:

Active sheet cannot be retrieved in onChange triggered by sorting & filtering data

任何受此影响的人,请考虑subscribing to it by starring it以跟踪它并帮助确定它的优先级。

445