如何处理 Google Sheet 中的所有命名范围?
How to process all named ranges in a Google Sheet?
有没有办法处理 Google Sheet 中的所有命名范围?
Google 文档有 .getNamedRanges()
,但我找不到 sheet 的任何类似内容。我想读取并打印每个范围参数。
我的最终目标是一起修复很多命名范围。有问题的文档中有200多个。
sheets (Documented here) 中存在错误,因为命名范围中的默认范围包含合并单元格的整个范围(即:A1:J1
),但仅命名范围如果你只指定第一个单元格,我想我可以通过接受默认的命名范围(A1:J1
作为例子)然后编写它的脚本来节省很多时间,这样我就可以去掉所有的东西结束,只剩下 A1
。为此,我需要简单地获取 sheet.
中所有命名范围的列表
这可能吗?
很遗憾,简短的回答是否定的。
在以下位置有增强请求:
https://code.google.com/p/google-apps-script-issues/issues/detail?id=917
您可以为它投票并接收更新。
至少现在的答案是肯定的。以编程方式处理命名范围仍然存在一些令人沮丧的限制,但情况已大大改善。
问题中引用的相同 .getNamedRanges()
方法适用于 Sheet(仅命名范围引用 sheet 中的范围)或 Spreadsheet(spreadsheet 中的所有命名范围)对象。它 returns 所有命名范围的数组。
您不能在 GAS 中直接通过名称访问命名范围。一个相当令人抓狂的疏忽,需要遍历整个命名范围数组才能找到所需的范围。
然而,最后,您确实没有什么不能用它们做的。正如关于 SO 的其他几个问题所强调的那样,以编程方式删除命名范围几乎不是一个好主意。尽管有时删除一个然后重新添加它会容易得多,但这会破坏 sheet 中对命名范围的每个引用(除非他们使用笨拙的 indirect("named_range_name")
构造)。
有没有办法处理 Google Sheet 中的所有命名范围?
Google 文档有 .getNamedRanges()
,但我找不到 sheet 的任何类似内容。我想读取并打印每个范围参数。
我的最终目标是一起修复很多命名范围。有问题的文档中有200多个。
sheets (Documented here) 中存在错误,因为命名范围中的默认范围包含合并单元格的整个范围(即:A1:J1
),但仅命名范围如果你只指定第一个单元格,我想我可以通过接受默认的命名范围(A1:J1
作为例子)然后编写它的脚本来节省很多时间,这样我就可以去掉所有的东西结束,只剩下 A1
。为此,我需要简单地获取 sheet.
这可能吗?
很遗憾,简短的回答是否定的。
在以下位置有增强请求:
https://code.google.com/p/google-apps-script-issues/issues/detail?id=917
您可以为它投票并接收更新。
至少现在的答案是肯定的。以编程方式处理命名范围仍然存在一些令人沮丧的限制,但情况已大大改善。
问题中引用的相同 .getNamedRanges()
方法适用于 Sheet(仅命名范围引用 sheet 中的范围)或 Spreadsheet(spreadsheet 中的所有命名范围)对象。它 returns 所有命名范围的数组。
您不能在 GAS 中直接通过名称访问命名范围。一个相当令人抓狂的疏忽,需要遍历整个命名范围数组才能找到所需的范围。
然而,最后,您确实没有什么不能用它们做的。正如关于 SO 的其他几个问题所强调的那样,以编程方式删除命名范围几乎不是一个好主意。尽管有时删除一个然后重新添加它会容易得多,但这会破坏 sheet 中对命名范围的每个引用(除非他们使用笨拙的 indirect("named_range_name")
构造)。