javascript - 仅使用 isRowHiddenByFilter 或 isRowHiddenByUser 获取 Google App Script getRange 的未过滤值

标签 javascript google-apps-script google-sheets

我是个新手,正在尝试做与 Only get non-filtered values for Google App Script getRange 相同的事情 - 获取所有未隐藏的行,而不使用添加的列。使其通用,这样无论使用哪些字段来隐藏行,我都只会对非隐藏行进行操作。我一直在玩 isRowHiddenByFilter() 和 isRowHiddenByUser() 但没有得到它。要获取所有未过滤的行,我是否需要检查 isRowHiddenByFilter() 和 isRowHiddenByUser() 是否均为 false?

上面的代码似乎应该适用于类似的情况(不确定如何指定 NOT):

  for(var i=0;i<range.length;i++){
   if (NOT range.isRowHiddenByFilter){
    filter.push(range[i][0])
  }}

最佳答案

流程:

示例脚本:

const getVisibleValues_ = (shtName, rngString, sheet, range) => {
  sheet = sheet || SpreadsheetApp.getActive().getSheetByName(shtName);
  return (range || sheet
    .getRange(rngString))
    .getValues()
    .filter(
      (_, rowIdx) =>
        !sheet.isRowHiddenByFilter(rowIdx + 1) &&
        !sheet.isRowHiddenByUser(rowIdx + 1)
    );
};

const test1 = () => console.info(getVisibleValues_('Sheet1', 'B1:B70'));

关于javascript - 仅使用 isRowHiddenByFilter 或 isRowHiddenByUser 获取 Google App Script getRange 的未过滤值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61306254/

相关文章:

javascript - 异步函数停止处理并且无法仅在生产 aws ec2 集群上抛出 exc

JavaScript 剪刀石头布游戏

google-apps-script - 如何使用 google appscript 随机化 google 表单中的答案(随机播放选项顺序)?

google-apps-script - 我帐户中所有 Google Apps 脚本触发器的摘要

javascript - Google 脚本 - 从单个单元格获取范围

javascript - session 过期时如何处理 API 调用?

javascript - iframe 中的 location.hash 滚动父窗口

javascript - DriveApp.removeFile 的真正目的是什么?

google-sheets - 如何将 OFFSET() 公式与一系列值一起使用?

google-sheets - 使用 Sheets API 创建包含开发者元数据的 Google Sheets 电子表格