获得Google电子表格中多个突出显示范围的有效范围

时间:2014-05-30 12:16:19

标签: google-apps-script google-sheets

我目前正在为Sheets制作一个条件格式化色阶脚本,而我仍然坚持选择要着色的范围。如果我只选择一个任意大范围,它可以正常工作,但如果我在一个工作表上突出显示两个或多个单独的范围则不行。在这种情况下,我的功能仅适用于最后选择的范围。下面是一个函数的简单示例:它采用有效范围并将单元格的颜色设置为红色。

function red() {
var curRange = SpreadsheetApp.getActiveRange();  
  curRange.setBackgroundColor("#FF0000");      
}

当多个范围或分开时,如何将其应用于所有选定范围?像getActiveRanges()这样的东西。 感谢

2 个答案:

答案 0 :(得分:1)

也许getActiveRangeList()适合您的用例

从文档中

返回活动表中的活动范围列表;如果未选择任何范围,则返回null。包含当前突出显示的单元格的活动范围位于列表的最后。 如果选择了一个范围,则该行为相当于一个getActiveRange()调用。

// Returns the list of active ranges.
var rangeList = SpreadsheetApp.getActiveRangeList();

答案 1 :(得分:0)

不幸的是,范围仅是指一组相邻的单元格。如果要选择多个范围,则有一个选择类,但功能却不及范围类。

Ranges vs Selections Selection Class Documentation