【问题标题】:Getting Filter results in error on Google Apps Script在 Google Apps 脚本上获取过滤器结果错误
【发布时间】:2019-11-20 17:22:56
【问题描述】:

我收到一条错误消息“此操作在已过滤行的范围上不受支持。”在尝试检索过滤器时在 Google Apps 脚本上。 (我正在尝试实施我在此处找到的解决方案 (Adding a row to a filtered range)。

错误:

This operation is not supported on a range with a filtered out row.
    at getFilter(functions:190)
    at editHousehold(Code:51)
    at addHousehold(Code:30)

函数getFilter第190行如下:

var filter = sheet.getFilter();

"sheet" 是 editHousehold(51) 发送的 Sheet 对象参数 - 该行是:

var oldCrit = getFilter(SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Household List"), true);

我实际上是在实现它以避免有问题的错误 - 为什么我只是尝试访问工作表的过滤器时会收到它??

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    问题是您不能在过滤表中插入新行,因为没有在 Filter 类上添加新行或 setValues 的方法。

    getFilter() 返回一个 Filter class 的对象,该对象没有可在 editHousehold 函数上使用的 setValue() 方法。

    getRange() 返回Range class 的对象,该对象具有 setValue() 等方法,可用于编辑范围内的值。

    所以,问题是:

    您确定您尝试在 editHousehold 函数上编辑的“Sheet”对象确实属于 Sheet class 而不是 Filter 类?

    后面还有以下问题:

    您确定您在任何函数中访问的类对象具有您尝试应用的方法吗?

    要回答这个问题,请查看为每个类提供的文档并查看允许的方法。

    希望这能解决您的问题,如果没有,请提供上述功能的内容以便能够正确调试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多